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');
Другие вопросы по тегам