我创建了一个数据表,其中一个列的复选框元素,其他列的文本框元素。每个ID的ID都是根据行中填充的数据动态生成的。
我一直尝试这样做是在选中相应的复选框时启用文本框。这个数据表有分页。
问题:
使用下面的代码我可以在某个页面上选中复选框时启用文本框(例如第1页)。但是,当我在第1页上启用了几个texbox后尝试启用第2页上的文本框时,它不允许我这样做。我做错了什么?
var table = $('#example').DataTable();
table.$("input:checkbox", { "page": "all"}).change(function () {
var someObj = {};
someObj.Checked = [];
table.$("input:checkbox", { "page": "all" }).each(function () {
if ($(this).is(":checked")) {
someObj.Checked.push($(this).attr("id"));
document.getElementById("ID_" + $(this).attr("id")).disabled = false;
}
});
//console.log(someObj.Checked);
});
答案 0 :(得分:0)
我没有循环选中复选框,而是在change事件本身上编写了启用文本框。这对我有用:
table.$("input:checkbox", { "page": "all" }).change(function () {
var checkedID = {};
checkedID.Checked = [];
if ($(this).is(":checked")) {
checkedID.Checked.push($(this).attr("id"));
document.getElementById("ID_" + $(this).attr("id")).disabled = false;
}
console.log(checkedID.Checked);
});