我正在尝试使用Datatable显示数据,每当我尝试从复选框中获取id值时,我会undefined
。
数据表代码
$(function () {
$('#reviews_data').DataTable({
processing: true,
serverSide: true,
ajax: url,
columns: [
{
data: 'id', render: function (id) {
return '<input type="checkbox" class="icheckbox_minimal" data-id="'+id+'"> ';
}
},
{data: 'status', render: function (status,data,rowData) {
return ' <div class="checkbox">\n' +
'<input id="exampleCheckboxSwitch" type="checkbox" data-id="'+rowData.id+'">\n' +
'<label for="exampleCheckboxSwitch"></label>\n' +
'</div>';
}},
{
data: 'status', render: function (data, data1, row, meta) {
return data + ' <br>' + row.created_at;
}, "bUseRendered": false
},
{data: 'created_at', name: 'created_at'},
]
});
});
这个问题
{data: 'status', render: function (status,data,rowData) {
return ' <div class="checkbox">\n' +
'<input id="exampleCheckboxSwitch" type="checkbox" data-id="'+rowData.id+'">\n' +
'<label for="exampleCheckboxSwitch"></label>\n' +
'</div>';
}},
正如您在代码中看到的那样,我正试图从
获取IDdata-id="'+rowData.id+'"
使用此Jquery代码
$(document).change('.checkbox',function () {
var id = $(this).data('id');
console.log(id);
});
我尝试使用value而不是data-id,但确实可以使用
如何解决?
答案 0 :(得分:1)
这里有一个根本性的错误。你不能使用这样的事件委托。
$(document).change('.checkbox',function () {
var id = $(this).data('id');
console.log(id);
});
尝试这种方式:
$(document).on('change', '.checkbox', function () {
var id = $(this).data('id');
console.log(id);
});