2017-10-03 8 views
0

私のフォームには、デフォルトでチェックされているチェックボックスがあります。私がしたいのは、チェックボックスのチェックを外し、送信ボタンをクリックすると、チェックボックスの値を変更するためのjavascript関数を呼び出すと、その状態も(チェックされているかチェックされていないか)です。フォーム送信後にチェックボックスの状態をチェックする/チェックしないjsp

これは私が試したものですが、期待どおりに動作していませんか?

<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のにまだ新しいです退屈なようであれば、私の質問すみません。デフォルトあなたのチェックボックスvalue =""によって

答えて

0

...

なぜ値"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); 
      } 
} 
関連する問題