2013-03-09 79 views
-1

我已经写了一个hdcheck复选框的功能。复选框更改功能不起作用,除了点击它

$('#hdcheck').change(function() { 
    if($(this).is(':checked')) { 
    alert("It is Checked"); 
    } 
    else { 
    alert("It is Unchecked"); 
    } 
}); 

它的工作原理发现,当我选中或清除该复选框,但我已经做了一个功能有问题使此复选框选中或取消选中。 这里是复选框chk_1功能:

$('#chk_1').change(function() { 
    if($(this).is(':checked')) { 
    $('#hdcheck').prop("checked", true); 
    } 
    else { 
    $('#hdcheck').prop("checked", false); 
    } 
}); 

此功能上做的第一个复选框(hdcheck)精细选中或取消选中,但它不会弹出窗口警报消息。意思是功能$('#hdcheck').change(function() 不起作用。

回答

2

当您以编程方式更改属性时,应该触发change事件,这是代码的缩小版本+更改触发器。

$('#chk_1').change(function() { 
    $('#hdcheck').prop("checked", this.checked).change(); 
}); 

这是不是一个错误,这是一个预期的行为。

+0

当我这样做,它使检查和取消选中非常缓慢,约2秒的检查或取消点击。而且它也无法触发更改事件。 – 2013-03-09 15:53:13

+0

@RashidFarooq你能否提供演示? – undefined 2013-03-09 15:55:33