复选框状态

问题描述:

function saveData() 
{  
    var rows = $('#deviceTable tr').length;  
    var toSave = ""; 

    alert(rows); 

    for(var i = 0; i < rows; i ++) 
    {    
     alert('inside for loop'); 

     if($("#saveDevName_"+(i)).attr('checked')) 
     { 

      alert('sving the data'); 

      toSave+=$("#devName_"+(i)).text()+",";    
     }   
    }  
} 

($("#saveDevName_"+(i+1)).attr('checked')) ---不executed.Hence不检查status.If语句不执行{如果($( “#saveDevName _” +(I))。ATTR( '检查'))} Plz建议我正确接受。复选框状态

+0

它没执行,还是没有返回'true'? – mdm 2011-06-14 21:09:27

+0

它没有返回。 :( – user780282 2011-06-14 21:23:56

替换:

if($("#saveDevName_"+(i)).attr('checked')) 

有了:

if($("#saveDevName_"+(i)).is(':checked')) 

更多信息:

如果你正在使用jQuery 1.6,那么你需要如Sarf建议使用is(":checked")或使用prop而不是attr。从1.6开始attr("checked")将返回页面加载时设置的属性值。

http://api.jquery.com/prop/

1.6之前我相信使用如你预期attr("checked")会工作。