我的表单中有一些复选框,默认情况下会被选中。我想要做的是取消选中复选框并单击提交按钮,调用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的新手。
答案 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);
}
}