这是一个内联if语句的唯一方法吗?

时间:2012-03-30 15:56:27

标签: jquery

var filterMinPV = $('.hidePVVol > td input:first').val();
var filterMaxPV = $('.hidePVVol > td input:last').val();

目前,如果输入框为空,则将它们设置为空字符串。我目前使用console.log记录这些值。

是否可以为这些值赋予“NULL”值,我可以看到这样做的唯一方法是将if语句放在val()中。但是,还有一种更好的方法可能是我缺少一些链接功能吗?

因此,如果输入框有一个值,我想将它分配给var。如果它是一个空字符串,我希望将“NULL”分配给var。

希望我解释得那么好!

3 个答案:

答案 0 :(得分:3)

记录值时:

logger.log(filterMinPV == '' ? filterMinPV : 'NULL');
logger.log(filterMaxPV == '' ? filterMaxPV : 'NULL');

答案 1 :(得分:2)

var filterMinPV = $('.hidePVVol > td input:first').val() || null;
var filterMaxPV = $('.hidePVVol > td input:last').val() || null;

并不是因为你仍需要在某处测试null而对它有所帮助,你也可以测试空字符串。

您可能希望避免两次通过以下方式查询此复杂选择器的相同元素集:

var inputs =  $('.hidePVVol > td input'),
    filterMinPV = inputs.first().val() || null,
    filterMaxPV = inputs.last().val() || null;

答案 2 :(得分:1)

var filterMinPV = $('.hidePVVol > td input:first').val() !== '' ? $('.hidePVVol > td input:first').val() : null;
var filterMaxPV = $('.hidePVVol > td input:last').val() !== '' ? $('.hidePVVol > td input:last').val() : null;