checkbox - jQuery 数据表:在每个分页上启用几个文本框
问题描述
我创建了一个数据表,其中我的一列有一个复选框元素,另一列有一个文本框元素。其中每一个的 ID 都是根据行中填充的数据动态生成的。
我一直在尝试做的是在选中相应的复选框时启用文本框。这个数据表有分页。
问题:
使用下面的代码,当在某个页面(例如第 1 页)上选中复选框时,我可以启用文本框。但是,当我在第 1 页上启用了一些 texboxes 后尝试在第 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);
});
解决方案
我没有遍历复选框,而是在更改事件本身上编写了启用文本框。这对我有用:
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);
});
推荐阅读
- node.js - Object.entries 不是 NWJS 0.36.3(节点 11.10.1)中的函数
- c++ - UBSan:boost::program_options 与 std::string
- r - 填充 R 数据框中缺失的行
- python - Python中给定r、theta和z值的极坐标直方图
- flutter - Flutter Expansion Tile 无法从卡片列表视图中打开
- c# - c# windows 窗体(试图在表格中添加搜索按钮)
- java - 如何在 java 中手动创建 doc/docx 文件
- android - 从最近的应用程序列表中删除应用程序
- javascript - 为什么~~Infinity返回0?
- spring-boot - spring data jpa和spring data DynamoDB之间的冲突