我想用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
。
答案 0 :(得分:0)
我会稍微修改一下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']);