2017-01-11 2 views
1

У меня есть список, в котором есть 2 переключателя. Мне нужно случайным образом выбрать радиокнопки в этом списке. Каждый переключатель (rb1: yes и rb2: no) имеет разные идентификаторы. Вот мой код.Выбрать все радиокнопки в списке -JQuery

$("#rbList").each(function() {                 
      var radios = $(this).find("input[type=radio]"); 
      if (radios.length > 0) { 
       var randomnumber = Math.floor(Math.random() * radios.length); 
       $(radios[randomnumber]).trigger('click'); 
      } 
     }); 

Это работает, чтобы выбрать один переключатель в группе. То, что я не понимаю, - это как его закодировать, чтобы случайным образом выбрать все переключатели в списке (будь то да или нет). Что мне нужно добавить? Кроме того, мне нужно автоматизировать это. Например, просто нажмите enter в консоли, и он должен отразиться на странице. Любая помощь приветствуется. Спасибо.

+1

http://stackoverflow.com/ вопросы/5665915/how-to-check-a-radio-button-with-jquery Проверьте здесь. Не нужно запускать щелчок по нему, только установите attr/prop. –

+1

Попробуйте 'radios.eq (randomnumber) .prop (« checked », true)' лучше, если вы можете обмениваться HTML – Satpal

+0

Вместо '' .each' 'на' # rbList', установите его в общий класс для каждого группа. – artur99

ответ

0

Используйте это для запуска проверки и снимите

$("#YourRadioID").prop("checked", true) 

В вашем случае:

 $("#rbList").each(function() {                 
      var radios = $(this).find("input[type=radio]"); 
      if (radios.length > 0) { 
       var randomnumber = Math.floor(Math.random() * radios.length); 
       $(radios[randomnumber]).prop("checked", true); 
      } 
     }); 

для старой версии вы должны использовать

$("#YourRadioID").attr('checked', 'checked'); 
+0

'$ (" # rbList "). Each' ..... Действительно? Если это только один элемент, то цикл не требуется. – Jai

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