您好我想知道单选按钮在数据表中选择的列索引。
这是我的数据表代码:
$(document).ready(function () {
table=$('#ReportTable').dataTable({
"bProcessing": true,
"bPaginate": false,
"bJQueryUI": true,
"ajax" :{
url: 'ajax_call.php',
type: "POST",
data: {
action:'loadEmailData'
}
},
"columnDefs": [
{ "aTargets": [0],
"mRender": function(data, type, full)
{
id=full[3];
var returnval = "<td><input type='radio' name='chkNew"+id+"' class='call-checkbox' value="+id+" id=\"chkNew'"+id+"'\" /></td>";
return returnval;
}
},
{ "aTargets": [1],
"mRender": function(data, type, full)
{
id=full[3];
var returnval = "<td><input type='radio' name='chkNew"+id+"' class='call-checkbox' value="+id+" id=\"chkSubmit'"+id+"'\" /></td>";
return returnval;
}
},
{ "aTargets": [2],
"mRender": function(data, type, full)
{
id=full[3];
var returnval = "<td><input type='radio' name='chkNew"+id+"' class='call-checkbox' value="+id+" id=\"chkDeploy'"+id+"'\"/></td>";
return returnval;
}
}
]
});
});
这是获取所选列表和所选列的id的函数:这里是警告列的索引,如0,1。如果我点击第1列和第3列也是警告为0,1,它应该警告0,2
var oTable = $('#ReportTable').dataTable();
var rowcollection = oTable.$('input[type="radio"]:checked', {"page": "all"});
rowcollection.each(function(index,elem){
var checkbox_value = $(elem).val();
arr[index]=checkbox_value;
alert(index);
});
答案 0 :(得分:0)
那是因为你只是通过检查单选按钮进行迭代。使用:
rowcollection.each(function(index,elem){
var checkbox_value = $(elem).val();
var globalindex = $(this).closest('tr')find('input[type="radio"]').index(this);
arr[globalindex]=checkbox_value;
alert(globalindex);
});
答案 1 :(得分:0)
var oTable = $('#ReportTable').dataTable();
$("input:checked", oTable.fnGetNodes()).each(function(){
var tdColumn = $(this).closest("td");
rowId= $(this).val();
columnIndex= tdColumn.index();
alert(columnIndex);
});