我在spring mvc工作,我使用以下行从DB表生成复选框。
<td><input type="checkbox" name="loanId" value="${loan.id}" class="it"></td>
我需要在我的java控制器中获取此选定值的索引。我能够获取所选的值,但如何获取索引值? 以下代码是我正在使用
String[] loanIds = request.getParameterValues("loanId");
for (String string : loanIds) {
System.out.println("loanIds****"+string);
}
答案 0 :(得分:1)
你需要javascript来获取复选框的索引并将其设置为隐藏字段:
var ids = document.getElementsByName('loanId');
var ind = document.getElementById('loanIndex');
var put = function() {
var arr = [];
var i = -1;
while (ids[++i])
if (ids[i].checked) arr.push(i);
ind.value = arr.join(',');
alert('selected index: ' + ind.value);
};
var i = -1;
while (ids[++i])
ids[i].onchange = put;
<input type="checkbox" name="loanId" />
<input type="checkbox" name="loanId" />
<input type="checkbox" name="loanId" />
<input type="checkbox" name="loanId" />
<input type="hidden" name="loanIndex" id="loanIndex" value="" />
在控制器中:
String[] loanIndex= request.getParameter("loanIndex").split(",");
答案 1 :(得分:0)
没有直接用于此目的的方法。
您可以将索引作为选择复选框时传递的值。您可以稍后使用此索引值从内存中收集选定的记录数据,即当用户选择复选框并提交请求时,在服务器端,您将从请求中获取ParameterValues并从数据源中列出数据,比较ID然后派生所选列表。 / p>
答案 2 :(得分:0)
使用Jquery
var indexString;
var index;
$('#.it').each(function () {
$(this).find('.SomeCheckboxClass').each(function () {
if ($(this).attr('checked')) {
index = $(this).index();
indexString = index + ",";
}
});
});
发布此indexString
,它是逗号分隔的索引字符串。