显示了jquery数据表中未显示的100的1到10个条目
showing 1 to 10 entries of 100 not showing in jquery datatable
我在jquery JS中面临两个问题。
1。(我在显示"10"条目中的默认显示长度默认为10)。因此,对于前10张记录,我的逻辑运行良好。当我单击下一个按钮并导航到剩余的分页记录并单击任何数据行时,我的逻辑不起作用。
<table>
<c: forEach items="${tdetails}" var="tdetail" varStatus="loop">
<tr>
<td>${loop.index+1}</td>
<td><a tag name="det12" id="delhi" href="#" >${tdetail.empNumber}</a></td>
<td>${tdetail.empName}</td>
<td>${tdetail.empDate}</td>
<td>${tdetail.empStatus}</td>
</tr>
</c:forEach>
</table>
<form id="employeeform" action="./getEmployeeStatusDisplay" method="get">
<input type="hidden" id="empNumber" name="empNumber" value="${tdetail.empNumber}">
</form>
2。未显示"显示100个条目中的1到10个"。我正在使用以下代码。
$(document).ready(function(){
$('#detailstable').dataTable({
"bFilter": false,
"bInfo": false,
"bAutoWidth": false,
"bSortClasses": false,
"displayLength":10,
"oLanguage": {
"sInfo": "Showing START to END of TOTAL entries",
"sZeroRecords": "No data to show" },
"sDom": 'T<"clear">lfrtip'
});
$('td a[name="det12"]').click(function(){
alert("inside JS");
id=$(this).text();
alert(id);
$('#empNumber').val(id);
$.blockUI({
message: $('#spinnerbox'),
css: {
margin:'0px auto'
}
});
$("#spinner").show();
$("#employeeform").submit();
});
});
正如你所看到的,当我点击数据表的第一列${tdetail.empNumber}(它是href标记)时,它应该调用"det12"JS,这会导致显示另一个表单("employeform.jsp")。问题是,只有前10个数据行的逻辑运行良好,其余11到100条记录的逻辑不起作用。
它不起作用,因为每次在dataTable中显示新页面时都会重新设置<td>
click
函数,而您只执行$('td a[name="det12"]').click(function(){
一次(这就是为什么它适用于第一页,第1-10行)。解决这个问题的一种方法是,每次重新绘制数据表时(即,当用户单击另一个页面时)设置触发器,回调函数fnDrawCallback
可以用于:
$('#detailstable').dataTable({
"bFilter": false,
"bInfo": false,
"bAutoWidth": false,
"bSortClasses": false,
"displayLength":10,
"oLanguage": {
"sInfo": "Showing START to END of TOTAL entries",
"sZeroRecords": "No data to show"
},
"sDom": 'T<"clear">lfrtip',
fnDrawCallback : function() {
$('td a[name="det12"]').click(function(){
alert("inside JS");
id=$(this).text();
alert(id);
$('#empNumber').val(id); $.blockUI({ message: $('#spinnerbox'), css: { margin:'0px auto' } });
$("#spinner").show();
$("#employeeform").submit();
})
}
});
请参阅演示->http://jsfiddle.net/hf1zqpoz/我无法完全复制您的设置,但请单击页面,然后单击内容为"三叉戟"的记录。
看起来有些线程(以前可能被调用但未正确销毁)会产生此类问题。因此,我在JSP文件的脚本标记中尝试了以下操作。然后它运行良好。希望这能帮助那些面临类似问题的人。
$('#detailstable').dataTable({
"bFilter": false,
"bInfo": false,
"bAutoWidth": false,
"bSortClasses": false,
"displayLength":10,
});
var bindLinks = function(){
$('td a[name="det12"]').click(function(){
id=$(this).text();
$('#empNumber').val(id);
$("#employeeform").submit();
});
};
$("#detailstable").bind("draw.dt", function(){
bind();
});
});
很棒的论坛。谢谢大家。
相关文章:
- 有效形式-始终只显示1个错误[角度]
- 如何在Racive中显示多个属性的总和
- 如何在一页上显示多个Highcharts图表
- 如何jQuery-Add按钮最多插入10个新输入
- 根据用户从下拉列表中的选择显示多个文本框
- 如何应用带过滤器的ng if来过滤记录,并在同一页面中显示两个不同的视图
- jQuery下拉列表未显示第一个选项
- 正在加载+10个帖子
- 如何在更改时显示ng个重复元素的总和
- javascript从选中的复选框中检索输入值,并在同一网页中显示多个html文件
- 如何在输入文本字段中输入10个字符时自动提交表单
- 显示多个具有相同源javascript(map(key,value))数据的图表
- 当一次加载所有文件时,是否有来自阵列的10个随机闪存文件显示在页面上?(在javascript中)
- 如何在 HTML 页面中仅显示他们上传的文件名的前 10 个字符
- 如何在 jQuery 中显示第 10 个到第 20 个子项
- jQuery Live Feed 仅显示 10 个项目
- JavaScript数组显示10个图像,然后显示下一个10个
- 如果文本超过10个字母,则显示更多/更少选项
- 显示了jquery数据表中未显示的100的1到10个条目
- 一直只显示10个最近的服务器发送的事件消息