2014-02-12 93 views
0

我有一些動態創建的複選框的代碼。當我將下拉列表更改爲某個特定值時,我需要檢查特定的支票。代碼如下:JQuery不會檢查動態創建的複選框

$("#dropdown").change(function(){ 

    f = $(this).val(); //get dropdown value  

    if(f==9||f==10){ //if dropdown has one of those values 
     for(i=0;i<$(".mycheck").length;i++){ //run through all checks 
      if($('.mycheck').eq(i).parent().text()=="TO CHECK"){ //get checkbox label; if match...    
       $('.mycheck').eq(i).prop('checked',true); //don't work 
       $('.mycheck').eq(i).attr('checked','checked'); //don't work 
       alert($('.mycheck').eq(i).val()) //WORKS!!! 
       alert($('.mycheck').eq(i).attr('checked') //returns 'undefined' 
      }   
     } 

    } 

}); 

任何幫助?

+0

可能重複http://stackoverflow.com/questions/ 426258/how-do-i-check-a-checkbox-with-jquery) – CDspace

+0

在JSFiddle上做一個失敗的示例。 – epascarello

回答

1

使用jQuery 1.6或更高版本,您應該使用prop()

var checkbox = $('.mycheck').eq(i); 
checkbox.prop('checked',true); //should work 
alert(checkbox.prop('checked')); 

JSFiddle

的[我如何檢查與jQuery一個複選框?(
+0

感謝您的回答,但是,.prop出於某種原因不起作用。我正在使用JQuery 1.9.1,它可以與其他一切正常工作... – AndiFaria

+0

1.9.1 http://jsfiddle.net/Ds3KB/1/在這裏可以正常工作 – epascarello