2013-03-09 113 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