我在jsp页面中应用了jquery。
我得到的不仅仅是记录,我必须逐页显示,
当我点击下一个按钮时,这些页面就出现了。
但我的问题是我必须在所有页面中选择多个复选框
发送复选框的值,任何人都可以为此做出答案。
答案 0 :(得分:1)
这样做的唯一现实方法是将click事件附加到所有复选框。单击它们时,向服务器发出AJAX请求以更新该特定复选框的状态。将该状态存储在数据库或会话或其他任何内容中。
例如:
$(function() {
$(":checkbox").click(function() {
$.get('/save/checkbox/url', {
id: this.id,
checked: this.checked
});
});
});
假设:
<input type="checkbox" id="cb123">
然后,当你最终想要使用这些结果时,请从那里获取详细信息。
此外,当您正确填充页面上的复选框时,请根据存储的状态检查它们。
答案 1 :(得分:1)
使用AJAX加载页面而不是进行硬刷新。使用这种方法,每个复选框点击都可以记录并存储在一个数组中,该数组将保持不变,因为页面没有刷新。
要在jQuery中执行此操作,请使用以下内容:
$("#tableContainer").load("/data/page/2");
这将加载来自url的内容,并将其注入一个id为“tableContainer”的元素。
jQuery中的实时事件将允许绑定到所有复选框(当前和未来):
$("#tableContainer input[type='checkbox']").live("click", function() {
if($(this).is(':checked')) {
checkedItems.add($(this).val());
}
}
它不完整,因为如果未选中该项,则必须从数组中删除该项,并修改您的servlet以仅发送更改的页面的一部分。但希望你明白了。