javascript - 如何使用 forEach 从输入创建字典?
问题描述
我想在 javascript 中创建一个字典。我有一些具有不同属性的动态输入,我想根据这些输入和属性创建一个字典,我该怎么做?
我的 html 看起来像这样:
<div class="margin_bot" id="itemRows1">
<p id="ProwNum1">
<input class="params margin_bot input_text input_size text_input span-11" tipo="LAM" type="text" name="par_1" value="password" placeholder="Valor">
<input class="params margin_bot input_text input_size text_input span-11" tipo="LAM" type="text" name="par_2" value="password2" placeholder="Valor">
</p>
</div>
我的 javacript 函数如下所示:
function create_kapps_dict(selector, content){
var items = $('p[id^="ProwNum"]').find('.params').filter(':visible');
var post_settings = [];
items.forEach( )
}
但它不起作用。我想要做的是创建一个字典作为输入的键和name
值。tipo
value
解决方案
我会稍微修改你的js(删除jquery)。查看随附的代码笔以获取完整示例。它与 C# 中的字典不同,但它是一个对象,您可以在其中访问基于元素名称的值。 https://codepen.io/tstrand66/pen/vzNLQe?editors=1011
function create_kapps_dict(content) {
const post_settings = {};
Array.prototype.slice.call(document.querySelectorAll('.params')).forEach(function
(element) {
post_settings[element.getAttribute('name')] = element.getAttribute(content);
});
console.log(post_settings);
return post_settings;
}
const createKappsDict = create_kapps_dict('tipo');
console.log(createKappsDict['par_1']);
console.log(createKappsDict['par_2']);
const createKappsDict2 = create_kapps_dict('value');
console.log(createKappsDict2['par_1']);
console.log(createKappsDict2['par_2']);
推荐阅读
- amazon-web-services - 在 Classic Load Balancer AWS 上将 HTTP 重定向到 HTTPS
- c# - 使用 Azure Blob 存储中的 .Net Core API 异步流式传输视频
- c# - 如何在 WPF 中禁用 LWin 和箭头快捷方式?
- java - 在执行 Spring boot Junit 类之前只运行一次 sql 脚本
- opengl - 添加> = 2 ^ 16个数字时的OpenGL缓冲区问题
- asynchronous - Python:只运行一个函数异步
- c# - double field = null 而它确实不应该是
- c# - JsonValue 和 JsonObject 有什么区别?
- android - 使用带有改造的android反序列化日期时间字符串
- c++ - Cygwin 下的 gcc 9.3.0 预处理器:cmdline -Dname 但名称似乎未定义