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 回答