2013-11-07 6 views
0

У меня есть этот JSon объект:Проверить флажки, если присутствует в объекте JSon

[{"id_distrib":"1"},{"id_distrib":"44"},{"id_distrib":"4"}] 

Я хотел бы проверить эти флажки:

<input id="1" class="cb_distrib_linux" type="checkbox" value="1"> 
Achlinux 
<input id="2" class="cb_distrib_linux" type="checkbox" value="2"> 
Aurox 
<input id="3" class="cb_distrib_linux" type="checkbox" value="3"> 
BackTrack 

... CenOS
...

Я делаю это:

success: function(listes_distrib) 
     { 
      for(var distrib in listes_distrib) 
      { 

       $('#all_distrib_linux input:checkbox[value='+listes_distrib[distrib]+']').attr('checked', true); 
      } 
     }, 

Все мои флажки отмечены.

Предупреждение listes_distrib [distrib] дает мне "[", а не идентификатор.

Заранее благодарим за помощь.

+0

Вы должны выбрать 'id_distrib' атрибут' listes_distrib [DISTRIB] '. –

+0

Правильно, спасибо – beegees

+0

Зачем это делать? Это, безусловно, достаточно правильный вопрос, и человек демонстрирует серьезную попытку его решения. Может, это была какая-то дискотека? – jimiayler

ответ

2

Вы можете сделать это:

$('#all_distrib_linux input:checkbox[value=' + listes_distrib[distrib].id_distrib +']').prop('checked', true); 

Вы должны получить значения из объектов JSON с помощью:

listes_distrib[0].id_distrib // return 1 
listes_distrib[1].id_distrib // return 44 
listes_distrib[2].id_distrib // return 4 

Кроме того, использование .prop() вместо .attr() как упомянуто в .prop() API Documentation:

Перед jQuery 1.6, метод .attr() иногда принимал значения свойств при получении некоторых атрибутов, что может привести к непоследовательному поведению . Начиная с jQuery 1.6, метод .prop() предоставляет способ для явного извлечения значений свойств, а .attr() извлекает атрибуты .

+1

Отлично работает, спасибо. – beegees

2

Попробуйте

success: function (listes_distrib) { 
    $.each(listes_distrib, function (_, item) { 
     $('#all_distrib_linux input:checkbox[value="' + item.distrib + '"]').prop('checked', true); 
    }) 
}, 
+1

+1, 'item.id_distrib' право? – naveen

+0

Thannk вы для вашего ответа. – beegees

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