【发布时间】:2013-07-08 02:14:21
【问题描述】:
我正在使用 jQuery 1.8.3。我想触发每个复选框的状态变化。
当我把它放在点击事件中时,这段代码就可以工作了:
$("#btn_off").click(function(){
$( "tr td input" ).each(function( index )
{
if ($(this).is(":checked"))
{
//some code
}
});
});
但是当我使用这段代码时它不是:
$('tr td input').live('change', function(){
if(this.checked)
{
//something
}
});
然后我尝试过:
$('tr td input').on('change', function(){
if(this.checked)
{
//something
}
});
并带有以下内容:
$('tr td :checkbox').change(function() {
if(this.checked)
{
//something
}
});
我做错了什么?此代码位于.ready()
这是网站上唯一的复选框,所以我确信 selector 应该可以工作...
【问题讨论】:
-
我认为你应该在最后三种情况下使用 $(this).is(":checked"),而不是 this.checked
-
@JonasGrumann 我不这么认为
-
你能在 jsfiddle 中分享你的代码吗
标签: javascript jquery events jquery-selectors jquery-events