var ha = $("input[type='checkbox']").is(':checked');
if (ha == false) {
alert("请至少选择一行数据");
}else{
var table = document.getElementById("ta");
var _list = "[";
for (var i = 1; i < table.rows.length; i++) {
if(table.rows[i].checked){
_list += '{"YYBH":"'+table.rows[i].cells[1].innerHTML+'"},'
}
}
_list=_list.substr(0,_list.length-1);
_list +="]";
console.log(_list);
}
console.log(_list) 输出是]
每一行里面都有一个checkbox,但你循环的时候获取到的是tr,tr没有checked属性,自然获取不到值。应该是要获取tr里面的input。
if(table.rows[i].getElementsByTagName("input")[0].checked){
_list += '{"YYBH":"'+table.rows[i].cells[1].innerHTML+'"},'
}
换成var ha = $("input[type='checkbox']").checked;试试
is(':checked') 就一被选中 程序就结束。后面得加function(){}