【问题标题】:How can I create a dictionary from inputs using forEach?如何使用 forEach 从输入创建字典?
【发布时间】:2018-08-23 17:17:55
【问题描述】:

我想用 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,值是输入的tipovalue

【问题讨论】:

  • 另外,要调用函数,您必须执行functionName(anyParametersItNeeds)。但你的最后一行没有这样做。
  • jQuery 似乎是多余的。同样使用 id 进行选择似乎有点奇怪。当然对于带有1 的 div 意味着可能有更多,所以它不是动态的。 post_settings 每次传递都会被覆盖,因此只会存储 1 个变量。此外,此变量在函数之外不可用。正如 Taplar 提到的,您不会像调用数组一样调用函数。如果您希望它在 IE 中工作,使用胖箭头函数需要 es6 处理程序
  • 还有更多的输入我只是没有全部添加,我只是添加了第一个只是为了显示上下文

标签: javascript jquery input foreach


【解决方案1】:

我会稍微修改一下你的 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']);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多