如何使用&&在JavaScript if语句中

时间:2014-07-08 16:26:08

标签: javascript

我想要做的是在没有填充其中一个输入的情况下弹出对话框。

我的问题是我的代码只有在所有输入都为空的情况下才有效,但是如果填充了一个,则对话框不会出现。

测试链接:http://jsfiddle.net/6wKPr/10/

$('#Save').click(function(){
   if($('#name').val() == '' && $('#age').val() == '' && $('#gender').val() == ''){
        $("#dialog-confirm").dialog("open");
   }
});

4 个答案:

答案 0 :(得分:3)

使用 OR 运算符||代替 AND &&然后:

$('#Save').click(function(){
   if($('#name').val() === "" || $('#age').val() === "" || $('#gender').val() === ""){
        $("#dialog-confirm").dialog("open");
   }
});
如果任何一个条件为真,

AND 运算符会检查所有条件为true,而执行 OR

答案 1 :(得分:2)

使用||代替&&,相当于' OR'

答案 2 :(得分:0)

如果您已接听,请使用OR ||代替AND &&

您可能还想更改单选按钮的条件,因为当您同时填充两个文本但未选择选项时,消息不会显示。

$('#Save').click(function(){
   if($('#name').val() == '' || $('#age').val() == '' ||  $("input[name='gender']:checked").val() == undefined){{
        $("#dialog-confirm").dialog("open");
   }
});

答案 3 :(得分:0)

您应该使用||(OR)运算符:

$('#Save').click(function(){
    if($('#name').val() == '' || $('#age').val() == '' || !$('#gender').is(':checked')){
        $("#dialog-confirm").dialog("open");
   }
});

此外,由于您正在检查是否选中了单选按钮,因此您可以使用jQuery的.is()功能。这将返回一个简单的truefalse布尔值,以便在if(...)语句中轻松进行比较。这会使if语句更清晰,并且无法将其与undefined值进行比较。

<强> DEMO