2016-06-29 3 views
0

Итак, у меня есть группа ключевых пар значений в документе. Они представляют собой наборы из 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"); 

Тогда я могу использовать два массива с цикл или что-то? И, как я уже упоминал, поскольку пользователь может оставить один случай случайно, я бы хотел это объяснить. В конце концов она выйдет так:

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

ответ

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'} 
] 
+0

Я не хочу сказать, '{ key: 'input1-1 value', value: 'input2-1 value'}, {key: 'input1-2 value', value: 'input2-2 value'} '. Я хочу сказать следующее: '{ key: value, key: value, key: value, key: value }' – munchschair

+0

Ok ... выполните аналогичный цикл, используя 'each', и добавьте новый ключ и значение в одиночный объект. Вы уже проверяете дубликаты перед этим? – charlietfl

Смежные вопросы