jQuery datatable:在每个分页上启用一些文本框

时间:2018-05-21 15:06:01

标签: checkbox pagination datatables textbox

我创建了一个数据表,其中一个列的复选框元素,其他列的文本框元素。每个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);
});

1 个答案:

答案 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);
});