如何从一组标签中获取键值对?

时间:2016-06-29 01:44:08

标签: javascript jquery

所以,我在文档上有一组键值对。它们是2组输入。我还需要拒绝任何非配对,所以如果只有一个键或只有一个值,我不想要包含其中一个。

像这样,input1是键,input2是值:

<div id = "group_o_inputs">
    <div class="ind_form">
        <input class="input1" type="text"><input class="input2" type="text">
    </div>
    <div class="ind_form">
        <input class="input1" type="text"><input class="input2" type="text">
    </div>
    <div class="ind_form">
        <input class="input1" type="text"><input class="input2" type="text">
    </div>
</div>

我怎么能提取这些,我想把它们放到json数组中。我在考虑这样的语法:

          var items1 = $("#group_o_inputs .ind_form .input1");
          var items2 = $("#group_o_inputs .ind_form .input2");

那么我可以使用带有for循环的两个数组吗?就像我提到的那样,由于用户可以意外地输入一个输入,我想对此进行说明。最终它会像这样出现:

{
 key: value, key: value, key: value, key: value
}

1 个答案:

答案 0 :(得分:3)

迭代ind_form类并映射对象数组

var data = $('.ind_form').has('.input1,.input2').map(function(){  
     return {
        key   :  $(this).find('.input1').val(),
        value :  $(this).find('.input2').val()
     }
}).get();

可生产

[
    {key: 'input1-1 value', value : 'input2-1 value'},
    {key: 'input1-2 value', value : 'input2-2 value'}   
]