2014-02-08 58 views
0

在我的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 

总是具有相同的值。

那么,我怎么能知道用户何时检查或没有检查其中一个选项?

非常感谢

回答

2

也许你正在寻找$("#Field_1").is(':checked')

1

尝试:

$("#Field_1").prop("checked") 

将返回检查

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> 
+0

一些解释可能会有所帮助。 –

+0

抱歉伙计,会做。 – digtalDuane