2015-04-21 2 views
1

У меня есть простой бит jquery, который запускает триггер при щелчке переключателя, чтобы проверить мои флажки.jQuery Выбрать флажок с меткой

<script> 
     jQuery('#op5').click(function() { 
      $('input[type=checkbox]').trigger('click');     

     }); 
    </script> 

Это мои флажки, они имеют ярлыки, чтобы придать им особый стиль.

<input type="checkbox" certificate="true" checked="checked" id="gridcb0" siteid="1381" value="72218" class="custom selector checkedFocus"> 
<label for="gridcb0" class="white">&nbsp;</label> 

И это кнопка радио я щелкая проверить флажков

<input type="radio" id="op5" value="1" name="options2" class="custom"> 

Однако это не проверка моих флажков на первом щелкните по нему требует от меня, чтобы нажать на кнопку радио ОП5 дважды установите флажки, я не хочу запускать строку ниже дважды, чтобы выделить эти флажки.

<input type="radio" id="op5" value="1" name="options2" class="custom"> 

Предложения?

ответ

2

Используйте .prop() свойство и добавить значение checked вместо запуска нажмите Если вы используете JQuery 1.6+

jQuery('#op5').click(function() { 
    $('input[type=checkbox]').prop('checked', true); 
}); 

Docs: https://api.jquery.com/prop/

+3

'attr' ожидает строковое значение и изменяет литеральный атрибут DOM. Вы должны использовать [prop] (http://api.jquery.com/prop/#prop-propertyName-value), который правильно изменит свойство – CodingIntrigue

+0

@RGraham - я согласен с вашим комментарием спасибо –

0

попытка ниже кода

jQuery('#op5').click(function() { 
      $('input[type=checkbox]').attr('checked', true);    
}); 
0

Какая версия jQuery вы используете

Для JQuery 1.6+, используйте функцию новой .prop() и JQuery 1.5.x и ниже, используйте .attr() функция

// jQuery 1.6+ 
$('#op5').click(function() { 
    $('#gridcb0').prop('checked', true); 
}); 

// jQuery 1.5.x and below 
$('#op5').click(function() { 
    $('#gridcb0').attr('checked', true); 
}); 

Проверить этот пост для более подробной информации - Setting "checked" for a checkbox with jQuery?

0

Попробуйте подпорку() и триггер():

Поскольку у вас есть идентификатор, вы можете использовать селектор ID

$('#gridcb0').prop('checked', true).trigger('click'); 

Если вы все еще хотите чтобы настроить все флажки:

$('input[type=checkbox]').prop('checked', true).trigger('click'); 
Смежные вопросы