jQuery if / else语句if条件包含或(||)两个变量

时间:2014-09-15 12:16:41

标签: javascript jquery html if-statement

我试图获取某些元素的价值,并将它们放在<select>标记中的一个<option>列表中,如: 验证是否已检查无线电以及检查了哪个无线电采用了截面元素值,并将其插入<select>作为<option>; 在我的例子中,我有两个部分/面板,可以通过无线电输入选择。 我的问题是当我选择收音机时因为我使用了类似的东西:

var scheduler = $( "#first-radio:checked" );
var cronos = $( "#second-radio:checked" );

$("#add-button").click( function() {
  if ( scheduler || cronos ) {
                              alert('None of radio options were selected!');
  } else{ 
         alert("else where my code must run"); 
  }
});

并且如果在按下Add val按钮时选中了两个复选框之一,则通常应该采取其他警报,而是始终使用if语句并显示警报,我不明白原因:|

Check fiddle:

1 个答案:

答案 0 :(得分:5)

jQuery方法将始终返回jQuery对象,该对象始终是真实的,因此您的代码将始终执行if块。

此外,检查状态将在运行时更改,因此您无法使用在初始化DOM时获取的状态 - 您需要检查单击处理程序中单选按钮的当前状态。

var scheduler = $("#first-radio");
var cronos = $("#second-radio");

$("#add-button").click(function () {   
    if (scheduler.is(':checked') || cronos.is(':checked')) {
        alert("else where my code must run");
    } else {
        alert('None of radio options were selected!');
    }
});

演示:Fiddle