JQuery click запускает только одно действие
Может кто-нибудь помочь мне понять, почему это не работает?
<div id="css-check" class="css-check tool-tip checkbox inline" ...
<input id="someid" name="somename" type="checkbox" value="somevalue" />
</div>
$('.css-check').bind({
click: function() {
$(this).toggleClass('clicked');
this.children[0].click();
},
mouseenter: function() {
// do something on mouseenter
}
});
Только первое действие принято. Таким образом, класс переключается, но флажок, который является дочерним элементом [0] для div, не щелкается.
РЕДАКТИРОВАТЬ
Это работает.
var $checkbox = $(this).children('input:first-child');
$checkbox.prop('checked', !$checkbox[0].checked);
$(this).toggleClass('clicked');
1 ответ
Решение
Менять:
this.children[0].click();
чтобы:
$(this).children('input:first-child').click();
Примечание: это вызывает событие click, если вы хотите установить флажок, используйте:
$(this).children('input:first-child').attr('checked', 'true');