我使用以下函数
为我的数据表中的每一行绘制了一个复选框"fnRender": function ( oObj ) {
return '<input id="chkBox" name="chkBox" value="'+ oObj.aData[0] +'" type="checkbox" />'; }
在onchange事件中,我将复选框的值更改为“Y”,就像这样。
$('#myDataTable input:checkbox').live('change', function (event) {
if($(this).is(":checked")) {
$(this).val("Y");
}
});
我现在必须检查其复选框值为“Y”的所有行并提交相同的行。但是,当我尝试针对每个tr
检索复选框的值时,在表单提交上,就像这样
$('#myDataTable tr').each(function() {
var aData = oTable.fnGetData(this);
fnGetData返回的数组不包含复选框的更新值。
但是,当我将Firebug中作为参数传递的this
的值评估为fnGetData
时,它会显示复选框的更新值。
我无法理解fnGetData的这种行为,为什么它没有显示复选框的更新值
任何人都可以帮忙
答案 0 :(得分:1)
找到问题的根本原因。
fnGetData被称为oTable.fnGetData()
,而oTable
等于我绘制的初始数据表。
因此每当我调用fnGetData()
时,它都会返回Datatables的原始值
我现在循环遍历每个tr
并获取当前值。