1

我正在使用数据表在 jsp 页面上显示客户记录,其中我在数据表中显示客户姓名、姓氏、部门、加入日期。我还有一列是选择框。现在用户可以从 ui 中选择任意数量的客户记录并发送到服务器端的操作以进行更新。在我的 jquery 函数中,我得到数据表中的选定行。但我无法弄清楚如何将这些行发送到操作方法? 我期望的是我将这些行从 ajax 发送到 action 方法,该方法具有一个方法参数作为列表(代表选定的行),我可以从列表中的每一行中提取字段值,代表 UI 中的选定行。 但我不确定该列表将包含什么类型的对象?有人可以用一些简短的例子指出我正确的方向吗?

4

2 回答 2

2

为什么不在每一行中给出一个复选框,其值将是相应记录的 id

<input type="checkbox" name="rec" value="{id of the record}"/>

然后,当您提交时,获取选定的 ID

var selectedRec="";
$("input[name='rec']:checked").each(function(){
  selectedRec += $(this).val()+","; 
});

您现在可以selectedRec作为字符串变量传递给操作。在您的操作中,您可以将此字符串拆分为数组

String[] recArray =  selectedRec.split(",");

然后在循环中你可以得到每个 id 如下

int customerId = Integer.parseInt(recArray[i]);
于 2012-07-23T17:43:01.687 回答
1

这是另一种方法,您不需要在 JQuery 中迭代所选记录并在 Script 中创建字符串。

步骤 1. 创建复选框

<s:checkbox name="Bean.record" id="record" fieldValue="%{id of the record}" />

步骤 2. 在您的 Bean 类中创建 String[]

private String[] record;

就是这样......所以无论您将在 JSP 上选择什么记录,值都将添加到字符串数组中,您可以在您的操作中获取它。

希望这会有所帮助。

于 2012-07-24T06:06:02.943 回答