Jquery具有多个页面的多个复选框

时间:2009-12-15 08:00:16

标签: jquery

我在jsp页面中应用了jquery。

我得到的不仅仅是记录,我必须逐页显示,

当我点击下一个按钮时,这些页面就出现了。

但我的问题是我必须在所有页面中选择多个复选框

发送复选框的值,任何人都可以为此做出答案。

2 个答案:

答案 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以仅发送更改的页面的一部分。但希望你明白了。

jQuery在ajaxlive事件上有很好的文档。