我的页面上总共有十个复选框,其中最后五个是特殊的。如果检查了其中任何一个,则希望在页面上显示一条消息,即额外费用将适用于这些产品。它们都有不同的名称和价值。由于我在所有复选框上都没有相同的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.");
}
});
任何线索我做错了什么?
答案 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;
答案 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的索引),参数4
,change
事件
$("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
}