如何在multiselect中为选项设置默认值?

时间:2014-02-08 05:16:30

标签: javascript jquery html checkbox multi-select

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

始终具有相同的值。

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

非常感谢

3 个答案:

答案 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>