如果其他条件不能在jQuery中工作

时间:2014-04-02 11:23:17

标签: javascript jquery jquery-ui

我在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; 
    }
  });
});
如果条件为假,则

我们的其他条件不起作用

4 个答案:

答案 0 :(得分:2)

我认为您要做的是检查是否需要具有类aa_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');
}
  • 使用.is()检查元素是否满足给定的选择器
  • 您需要获取目标元素的jQuery对象

答案 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");  
}