我想要做的是在没有填充其中一个输入的情况下弹出对话框。
我的问题是我的代码只有在所有输入都为空的情况下才有效,但是如果填充了一个,则对话框不会出现。
测试链接:http://jsfiddle.net/6wKPr/10/
$('#Save').click(function(){
if($('#name').val() == '' && $('#age').val() == '' && $('#gender').val() == ''){
$("#dialog-confirm").dialog("open");
}
});
答案 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()
功能。这将返回一个简单的true
或false
布尔值,以便在if(...)
语句中轻松进行比较。这会使if
语句更清晰,并且无法将其与undefined
值进行比较。
<强> DEMO 强>