0

これが機能しない理由を理解できる人はいますか?

<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
  }
});

最初のアクションのみが実行されます。したがって、クラスは切り替えられますが、div の [0] 子であるチェックボックスはクリックされません。

編集

これは機能します。

var $checkbox = $(this).children('input:first-child');
$checkbox.prop('checked', !$checkbox[0].checked);
$(this).toggleClass('clicked');
4

1 に答える 1

0

変化する:

this.children[0].click();

に:

$(this).children('input:first-child').click(); 

注:これによりクリックイベントがトリガーされます。チェックボックスをオンにしたい場合は、次を使用します。

$(this).children('input:first-child').attr('checked', 'true');
于 2012-08-30T13:37:09.393 に答える