无法让javascript工作来检查复选框值

时间:2014-09-04 07:03:06

标签: jquery asp.net-mvc html5

我的情景非常简单。我有一些复选框,我想检查它们是否被检查。

现在我使用以下内容:

        @Html.CheckBox("chkColour")<br />
        <input type="checkbox" name="chkColourCoding" value="Colour Coding" />Colour coding<br />
        <input type="checkbox" name="chkDoggyBars" value="Doggy Bars" />Doggy bars<br />
        <input type="checkbox" name="chkLadderRacks" value="Ladder Racks" />Ladder racks<br />
        <input type="checkbox" name="chkCabSliders" value="Cab Sliders" />Cab sliders<br />
        <input type="checkbox" name="chkBrakeLights" value="Brake Lights" />Brake Lights<br />
        <input type="checkbox" name="chkInteriorLights" value="Interior Lights" />Interior Lights<br />
        <input type="checkbox" name="chkRubberising" value="Rubberising" />Rubberising<br />
        <input type="checkbox" name="chkRoofRacks" value="Roof Racks" />Roof racks<br />     

现在我用Google搜索了近两个小时,我不想再浪费时间了。我已尝试过

的所有内容
 var check = document.getElementById('chkColourCoding');
 if (check.checked)
 {}

 if($("#chkColourCoding").prop('checked'))
 {}

以及

 if($('.chkColourCoding').is(':checked'))
 {}

有人可以向我解释一下有什么区别,并建议为什么这不起作用的原因?我是否需要做一些使用jQuery的引用

4 个答案:

答案 0 :(得分:1)

您正在寻找ID,而您尚未将ID分配给您的复选框。 改变这一行

<input type="checkbox" name="chkColourCoding" value="Colour Coding" />

<input type="checkbox" name="chkColourCoding" value="Colour Coding" id="chkColourCoding" /> 

你的javascript会摇滚。

答案 1 :(得分:1)

if($("#chkColourCoding").prop('checked')){}

您正在做的是使用DOM获取id=chkColourCoding元素,但它不存在。

您可以在复选框中添加id或使用name="theName"

if($('input[name="chkColourCoding"').is(':checked')){
  //your function
}

答案 2 :(得分:1)

您错过了添加ID

见下面的工作代码......

@Html.CheckBox("chkColour")<br />
        <input type="checkbox" id="chkColourCoding" checked
         name="chkColourCoding" value="Colour Coding" />Colour coding<br />
        <input type="checkbox" name="chkDoggyBars" value="Doggy Bars" />Doggy bars<br />
        <input type="checkbox" name="chkLadderRacks" value="Ladder Racks" />Ladder racks<br />
        <input type="checkbox" name="chkCabSliders" value="Cab Sliders" />Cab sliders<br />
        <input type="checkbox" name="chkBrakeLights" value="Brake Lights" />Brake Lights<br />
        <input type="checkbox" name="chkInteriorLights" value="Interior Lights" />Interior Lights<br />
        <input type="checkbox" name="chkRubberising" value="Rubberising" />Rubberising<br />
        <input type="checkbox" name="chkRoofRacks" value="Roof Racks" />Roof racks<br />     


        <script language="javascript">
        var check = document.getElementById('chkColourCoding');
 if (check.checked)
 {
     alert("Checked");
 }
 else
 {
      alert("Not Checked");
 }


        </script>

答案 3 :(得分:0)

内部视图

<div>
<input type="checkbox" class="checkbox" name="checkbox" />
</div>

内部脚本

//检查

的值
var v = $('.checkbox').is(':checked')
        if (v == true)
            alert('true');
        else
            alert('false');