如何将复选框值正确插入和更新到数据库中

How to insert and update checkbox value correctly into database?

本文关键字:更新 数据库 插入 复选框      更新时间:2023-09-26

我正在处理一个JSP应用程序,我有一个带有复选框的表单,我尝试做的是插入并更新到我的数据库"0或1"中,具体取决于它是选中还是未选中。我的代码已经做的是插入"1"总是插入"1"而不是"0",如果未选中它,当我尝试更新我的数据库时,例如从"1"到"0"或从"0"到"1",它不做工作,我的复选框不切换。请帮帮我!

我已经有了插入和更新的方法并且它可以工作,因为我可以插入或更新表单的其他字段。

JSP 代码:

<tr>
<td>Principal:</td>
<td colspan="2"><input type="checkbox" id="a_principal" name="a_principal" value="<%=directorio!=null?(directorio.isPrincipal()!=false?directorio.isPrincipal(): ""):""%>" />
<%=directorio.isPrincipal()%>
</td>
</tr>

Javascript代码:

$(function (){  
    if($('#a_principal').val()== "true"){           
         $("input:checkbox").prop('checked',true);        
    }else{
        $("input:checkbox").prop('checked', false);        
    }
});

提前感谢!!

如果我

是你,我会尝试在你的 if/else 语句中显示一些东西,看看它们中的哪一个正在执行(也就是说,如果它们正在执行)。

您也可以尝试将 if 语句更改为

    if($('#a_principal').val() === true) { ...

希望对您有所帮助。

@paulinajr我希望您的脚本仅更新复选框的状态而不是值。相反,你可以做的是通过像eclipse一样通过IDE调试servlet/java代码。如果我是对的,您将在 servlet 代码中收到复选框的状态,就像 on 一样。你可以像检查它一样

if (request.your_getterProperty().equalsIgnoreCase("on")
    && !request.your_getterProperty().isEmpty()) {
// Do the stuff
}

让我知道这是否有帮助..