检查是否选中了某组复选框

时间:2016-01-17 14:42:09

标签: javascript jquery checkbox

我的页面上总共有十个复选框,其中最后五个是特殊的。如果检查了其中任何一个,则希望在页面上显示一条消息,即额外费用将适用于这些产品。它们都有不同的名称和价值。由于我在所有复选框上都没有相同的ID,所以我真的被卡住了。

这是我测试的最后一件事,但我不能为所有5个复选框工作。

var check;
$("#test-with-is").on("click", function(){
    check = $("#mycheckbox").is(":checked");
    if(check) {
        alert("Checkbox is checked.");
    } else {
        alert("Checkbox is unchecked.");
    }
}); 

任何线索我做错了什么?

4 个答案:

答案 0 :(得分:2)

在您的特殊复选框中添加一个班级,然后通过它查看属性"选中"。



$(".special").on("click", function(){
  if($(this).prop('checked')){
        alert("Checkbox is checked.");
    } else {
        alert("Checkbox is unchecked.");
    }
}); 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" class="special">
<input type="checkbox" class="special">
<input type="checkbox" class="special">
<input type="checkbox" class="special">
<input type="checkbox" class="special">
&#13;
&#13;
&#13;

答案 1 :(得分:1)

使用公共类

<input type="checkbox" />
<input type="checkbox" />
<input type="checkbox" />
<input type="checkbox" class="last_five" />
<input type="checkbox" class="last_five" />
<input type="checkbox" class="last_five" />
<input type="checkbox" class="last_five" />

并检查是否有任何一个被检查

$("#test-with-is").on("click", function(){
    if ( $(".last_five").is(":checked") ) { // true if any are checked
        // do stuff
    }
});

答案 2 :(得分:1)

尝试使用:gt()选择器(基于0的索引),参数4change事件

$("input:gt(4)").on("change", function() {
  if ($(this).is(":checked")) alert("extra costs will apply");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js">
</script>
<label>1<input type="checkbox"></label>
<label>2<input type="checkbox"></label>
<label>3<input type="checkbox"></label>
<label>4<input type="checkbox"></label>
<label>5<input type="checkbox"></label>
<label>6<input type="checkbox"></label>
<label>7<input type="checkbox"></label>
<label>8<input type="checkbox"></label>
<label>9<input type="checkbox"></label>
<label>10<input type="checkbox"></label>

答案 3 :(得分:0)

在您的特殊复选框中添加一个类

class='special_checkbox'

现在您可以检查是否有人检查过这些

if($('.special_checkbox:checked').length() > 0){
 // checked 
}