在表单提交jsp后保持复选框的状态选中/取消选中

时间:2017-10-03 12:02:37

标签: jquery jsp servlets

我的表单中有一些复选框,默认情况下会被选中。我想要做的是取消选中复选框并单击提交按钮,调用javascript函数来更改复选框的值以及它的状态(选中/取消选中)。

那是我尝试过的但是没有按预期工作?

  <form action="ResultServlet" method="post" id="searchForm">
     <table cellspacing="0" style="width: 50%;float: right">
         <tr>
           <th style="text-align: left;"><label>Work List Cases:</label></th>                       
            <td>
              <div class="checkbox checkbox-primary">
                <input name="workListCases" id="checkbox2" checked type="checkbox" value="">
                 <label for="checkbox2"></label>
              </div>
            </td>
         </tr>
    </table>
      <button type="submit" onclick="changeCheckBox()" style="font-weight: bold;background-color: #F0F1F2" class="btn btn-default">Search</button>                        
  </form>

js功能:

 function changeCheckBox (){
           if($("#checkbox2").is(':checked')){
                $("#checkbox2").val("true");
                $('#checkbox2').attr('checked', false);
            }
            else {
                $('#checkbox2').attr('checked', true);
                $("#checkbox2").val("true");
            }
        }

请原谅我的问题,如果它看起来很乏味我仍然是jquery的新手。

1 个答案:

答案 0 :(得分:0)

默认情况下,您的复选框为value ="" ...

为何选择"true""false"

试一试:

function changeCheckBox (){
           if($("#checkbox2").is(':checked')){
                $('#checkbox2').attr('checked', false);  //jquery <1.6
                $('#checkbox2').removeAttr('checked');
                $('#checkbox2').prop('checked', false); //jquery >1.6
                $('#checkbox2').removeProp('checked');
            }
            else {
                $('#checkbox2').attr('checked', true);
                $('#checkbox2').prop('checked', true);
            }
}