【发布时间】:2018-04-30 02:19:26
【问题描述】:
所以,我有一个数据表 js,它的脚本类似于
<script>
var table;
var init = 0;
$(document).ready(function () {
if (init == 0) {
table = $('#example').DataTable({
columnDefs: [{
orderable: false,
className: 'select-checkbox',
targets: 0
}, {
"targets": [2],
"visible": false,
"searchable": false
}],
select: {
style: 'os',
selector: 'td:first-child'
},
order: [
[1, 'asc']
]
});
init = 1;
}
})
$('#btnSelectedRows').on('click', function () {
alert('here');
var tblData = table.rows('.selected').data();
var tmpData;
$.each(tblData, function (i, val) {
tmpData = tblData[i];
alert(tmpData);
});
document.location.href = "https://datatables.net/forums/discussion/42290/getting-the-checked-rows-in-datatables";
})
</script>
现在在这里,当我调用 onclick 事件时不会触发,而另一方面,如果我将它移动到 ready() 下,它将被调用。当我创建一个新的 html 时,我遇到了这个问题,但是它在 JS Fiddle (https://jsfiddle.net/mmushtaq/q67L1a9a/) 中完美运行
【问题讨论】:
-
while on other hand if I move it under ready() it will get invoked尝试这样做,然后。听起来您正在尝试在 HTML 中解析该元素之前选择该元素。或者,更好的是,将您的脚本编写在一个单独的文件中,并为其标记提供defer属性。 -
@CertainPerformance 如果我这样做,document.location.href 将不起作用。
-
wont work是什么意思?当我将所有内容都包含在ready中时,似乎对我来说可以正常工作。 -
@CertainPerformance 它只是会重定向,我不知道是因为 datatable.js 还是其他问题,我在发布前两天累了。
-
分配给
location.href的全部意义在于重定向。如果您毕竟不想重定向,只需删除该行?请说明问题是什么
标签: javascript jquery .net datatable