根据选定的值更改数据库中的多个列 - Hibernate

时间:2016-04-01 07:14:52

标签: spring hibernate jsp

我正在以下列方式使用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。如果我方需要更多信息,请告诉我。

1 个答案:

答案 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工作原理。希望这会有所帮助。