我有一个复选框列表,显示员工的帐户ID列表,以便检索单个记录。
<c:forEach var="id" items="${accountList}" varStatus="status">
<input type="checkbox" name="account_id" value="${id}"/>
</c:forEach>
name = account_id被声明为字符串数组列表。
选择之后,我将结果提交到struts表单并将结果存储在字符串数组列表中。在提交脚本中,我需要检查帐户ID选择的长度并添加计数。最后提交表格的价值。
如何实现这一点。有人帮助..
由于
答案 0 :(得分:0)
当您需要计算所选值时,您可以采用以下两种方法之一。
当http请求包含具有多个值的名称(在您的情况下为account_id
)时,list将作为逗号分隔的值列表传递给该名称。 Servlet API提供了一种非常方便的检索值的方法。
String accountIds = request.getParameterValues("account_id");
这将为您提供包含帐户ID列表的数组。数组的长度(accountIds.length
)应该为您提供所选帐户ID的数量。
counter
的{{1}}。提交表单时,可以将隐藏字段作为请求参数进行检索。 答案 1 :(得分:0)
function updateTextArea() {
var allVals = [];
$('input:checkbox[name=checkbox_name]:checked').each(function() {
allVals.push($(this).val());
});
$('#hidden_value').val(allVals);
}
$(function() {
$('input:checkbox[name=checkbox_name]').click(updateTextArea);
updateTextArea();
});
'checkbox_name'是复选框的名称
allVals.push($(this).val());
这会将复选框的值推送到隐藏字段,ID为“hidden_value” 如果你需要插入复选框的'id'而不是值
allVals.push($(this).attr('id'));
因此,您需要将名称和id隐藏的输入字段放在表单
中然后在您的操作页面中隐藏此输入字段中的值。 用“,”分隔符拆分你将获得一个数组。数组的内容将是你检查的值,大小将给你元素的数量。
否则
checked_count = $('[name="checkbox_name[]"]:checked').length
在表单提交之前 计算这个并存储在隐藏的字段中
$("#hidden_id").val(checked_count)
从操作页面的隐藏字段中获取值。