在我的html文件中,我有这段代码:
<div class="multiselect">
<label><input type="checkbox" id="Field_1" name="Field_1" value="1" />something1</label>
<label><input type="checkbox" id="Field_2" name="Field_2" value="2" />something2</label>
<label><input type="checkbox" id="Field_3" name="Field_3" value="3" />something3</label>
<label><input type="checkbox" id="Field_4" name="Field_4" value="4" />something4</label>
<label><input type="checkbox" id="Field_5" name="Field_5" value="5" />something5</label>
<label><input type="checkbox" id="Field_6" name="Field_6" value="6" />something6</label>
</div>
<button type="button" onClick="validateMyForm()">Send This form</button
然后在JS代码中我执行以下操作:
function validateMyForm(){
// some code
// from here - the multibox
var val1 = $("#Field_1").val();
var val2 = $("#Field_2").val();
var val3 = $("#Field_3").val();
var val4 = $("#Field_4").val();
var val5 = $("#Field_5").val();
var val6 = $("#Field_6").val();
// more
}
但即使我不检查 6个选项中的一个,我仍然会得到它的原始值,即变量
val1 -> 1
val2 -> 2
val3 -> 3
val4 -> 4
val5 -> 5
val6 -> 6
始终具有相同的值。
那么,我怎么知道用户何时检查或未检查其中一个选项?
非常感谢
答案 0 :(得分:2)
可能你正在寻找$("#Field_1").is(':checked')
。
答案 1 :(得分:1)
尝试:
$( "#Field_1").prop( "checked" )
选中后会返回 True
答案 2 :(得分:1)
您可以将复选框元素列入数组,然后使用for循环遍历每个元素,以警告是否已选中复选框。我使用document.getElementById来获得更清晰的视觉效果。
<script type="text/javascript">
<!--
function validateMyForm(){
chexBx=new Array();
chexBx[1]=document.getElementById("Field_1");
chexBx[2]=document.getElementById("Field_2");
chexBx[3]=document.getElementById("Field_3");
chexBx[4]=document.getElementById("Field_4");
chexBx[5]=document.getElementById("Field_5");
chexBx[6]=document.getElementById("Field_6");
for(i=1;i<=6;i++){
if(chexBx[i].checked){
x=chexBx[i].value;
alert("box "+i+" was checked with the value of "+x);
}
if(!chexBx[i].checked){
alert("box "+i+" was not checked");
}
}
}
-->
</script>