0

我有两个这样的变量:

var th = $(".on", parent.document.body).find('input').eq(0).val();
var th2 = $(".on", parent.document.body).find('input').eq(1).val();

现在我想做一个if包含两个变量的声明:

if ($(th + th2, parent.document.body).val() == ''){ 

...


}

这对我不起作用。我不知道为什么。我还尝试了其他变体,但没有运气。

4

3 回答 3

3

如果您尝试测试 2 个输入字段是否为空,您可以针对存储在变量中的值进行测试:

if (th == '' && th2 == '') {
    // the 2 input fields are empty    
}
于 2013-03-03T10:39:26.810 回答
3

由于 jQuery 是一个 JavaScript 框架,您可以使用纯 JavaScript

if(th == '' && th2 == '') { ... }
于 2013-03-03T10:40:27.783 回答
1

提取两个字段值后,您只是在进行字符串比较,因此请使用普通的 Javascript。

但是,您可能还想忽略用户可能在字段中留下的任何空白,所以我会使用:

if ($.trim(th) === '' && $.trim(th2) === '') {
     // both fields are "empty"
     ...
}

您还应该避免代码重复,并尽可能利用本机 Javascript 和 DOM 调用:

var $in = $(parent.document.body).find('.on input');  // Don't repeat yourself
var th = $in[0].value;   // more efficient than $in.eq(0).val()
var th2 = $in[1].value
于 2013-03-03T10:51:09.587 回答