此代码有效:
$('[id$=lbl]').val() == "0" ? alert('Bla') : null;
但这段代码没有:
$('[id$=lbl]').val() == "0" ? function(){alert('Bla'); return false; } : null;
$('[id$=lbl]').val() == "0" ? alert('Bla');return false; : null;
$('[id$=lbl]').val() == "0" ? return false : null;
在“返回错误”之后我需要“警告”
我该怎么做?
答案 0 :(得分:2)
不确切地知道你要做什么(而且你错过了向我们展示错误信息 - 但你为什么不简单地使用像这样的“正常”if语句(这没有效果)在性能上,但更具可读性(我的意见),更容易改变(如果你必须在将来)):
if($('[id$=lbl]').val() == "0"){
// do something
}else{
// do something else
}
答案 1 :(得分:2)
你必须这样做:
$('[id$=lbl]').val() == "0" ? (function(){alert('Bla'); return false; })() : null;
function(){alert('Bla'); return false; }
只是函数的声明。括号将执行它:(函数声明......)()
编辑:
你的意思是你需要这样做吗?:
function bla(){ return ($('[id$=lbl]').val() == "0" ? (function(){alert('Bla'); return false; })() : (function(){return null;})() ); }
解释:
该函数将返回 (条件?val1:val2) 表达式将返回...在这种情况下 val1 和 val2 都是函数,它们返回一些值(val1 - > false; val2 - > null;)并且该值由main(bla)函数返回
答案 2 :(得分:1)
这样做:
var test = $('[id$=lbl]').val() == "0" ? false : null;
if (test === false) {
alert('Bla');
return false;
}
您无法从?:构造中返回。即使你可能,这将是一个非常混乱的代码片段。代码的读取频率远远高于编写代码。
更好的是,如果你准备放弃?:构造完全使用@oezi的答案。
答案 3 :(得分:0)
你在做什么是不切实际的:
$('[id$=lbl]').val() == "0" ? alert('Bla');return false; : null;
您可以像这样检查其值:
alert($('[id$=lbl]').val());
要真实世界/实际,你应该这样做:
var myvalue = $('[id$=lbl]').val() == "0" ? when true : when false;
示例:强>
var myvalue = $('[id$=lbl]').val() == "0" ? '' : $('[id$=lbl]').val();
现在myvalue
在包含0
时将为空,或者具有指定字段的值。你可以根据你的要求改变方向。
答案 4 :(得分:0)
$('[id$=lbl]').val() === 0