我在jQuery中使用if
else
条件来处理复选框。
我的条件是至少选中了一个复选框,并且在alert if
条件运行之后而不是另一个复选框。这是我的代码
$(document).ready(function() {
$('#outer_menu').click(function() {
var $fields = $(this).find('input[name="mychoice"]:checked');
if (!$fields.length) {
alert('You must check at least one box!');
if(".a:checked "){
$(".language").find(".translate-language").toggleClass("translate-language translate-language_show");
} else if (".a_orignal:checked") {
$(".language").find(".orignal-language_hide").toggleClass("orignal-language_hide orignal-language");
} else {
alert('chose one');
}
return false;
}
});
});
如果条件为假,则我们的其他条件不起作用
答案 0 :(得分:2)
我认为您要做的是检查是否需要具有类a
或a_original
的元素,因为您需要
if ($(".a").is(":checked ") {
$(".language").find(".translate-language").toggleClass("translate-language translate-language_show");
} else if (".a_orignal").is(":checked") {
$(".language").find(".orignal-language_hide").toggleClass("orignal-language_hide orignal-language");
} else {
alert('chose one');
}
答案 1 :(得分:0)
看看这行代码:
if(".a:checked ")
我认为应该是:
if ($(".a:checked "))
这可能不是问题的结束,除非a是一个类而不是你打算选择链接。
这里有同样的问题:
else if (".a_orignal:checked")
答案 2 :(得分:0)
更改为:
if($(".a").is(":checked")){
和
else if ($(".a_orignal").is(":checked")){
答案 3 :(得分:0)
.prop()
方法获取匹配集中第一个元素的属性值。
写:
if(".a").prop("checked"){
$(".language").find(".translate-language").toggleClass("translate-language translate-language_show");
}
else if (".a_orignal").prop("checked"){
$(".language").find(".orignal-language_hide").toggleClass("orignal-language_hide orignal-language");
}