我正在以下列方式使用for-each循环在JSP页面中显示特定表的详细信息:
public static double roundToDouble(float d, int decimalPlace) {
BigDecimal bd = new BigDecimal(Float.toString(d));
bd = bd.setScale(decimalPlace, BigDecimal.ROUND_HALF_UP);
return bd.doubleValue();
}
现在,我的数据库中没有名为“check”的列。这是我POJO中的一个短暂的领域。我的数据库中有一个同意/不同意列。我想检查特定行,单击“同意”或“不同意”,单击“提交”时,应分别更新这些记录的“同意/不同意”列。我正在使用Spring MVC和Hibernate。如果我方需要更多信息,请告诉我。
答案 0 :(得分:0)
您可以使用简单的jQuery执行此操作,将class
(此处为.chkbox
)设置为所有复选框。每当发生任何变化事件时,请说
如果选中,则复选框的值将添加到JS数组。
如果未选中,则该值将从JS数组中删除。
$(document).ready(function() {
var selectedArray = [];
$('.chkbox').change(function() {
if($(this).is(":checked")) {
selectedArray.push($(this).val());
} else {
selectedArray.pop($(this).val());
}
//alert(selectedArray);
$("#textbox1").val(selectedArray);
});
});
最后,我使用文本框来保存所有选中的复选框值。你可以把它变成一个隐藏的名字属性。
<input type="checkbox" class="chkbox" value="101"> This is 101<br />
<input type="checkbox" class="chkbox" value="102"> This is 102<br />
<input type="checkbox" class="chkbox" value="103"> This is 103<br />
<input type="checkbox" class="chkbox" value="110"> This is 110<br />
<input type="checkbox" class="chkbox" value="111"> This is 111<br />
<input type="checkbox" class="chkbox" value="112"> This is 112
<br />
<input type="hidden" id="textbox1" name="selectedArray" />
将其发送到控制器并按comma (,)
分割值。
更新:
在您的代码中,您可以像这样更新。
<c:forEach items="${List2}" var="alist">
<tr>
<td>
<input type="checkbox" class="chkbox" name="check" value="${alist.check}">
</td>
<td>${alist.two}</td>
<td>${alist.three}</td>
<td>${alist.four}</td>
</tr>
<input type="hidden" id="textbox1" name="selectedArray" />
</c:forEach>
这完全是必需的。
请参阅JS Demo工作原理。希望这会有所帮助。