2013-02-06 22 views
0

我有一個文本框,我需要檢查文本框是否爲空,並相應地設置爲真或假的變量。如何設置var true或false使用.val()

我的代碼此刻打印文本框的值。

var isDateTimEndEmpty = dateTimeEnd.val() == null ? true : false; 

我在做什麼錯在這裏?

+3

任何形式爲'x? true:false'表示沒有理解簡單的概念... –

+0

嘗試使用(),這應該有幫助 – TomTom

+1

'a == b'已經評估爲布爾型,意味着它的值已經是'true'或'false'。正如它目前所讀的,你的代碼因此說'如果'x'是真的,如果'x'爲假,則產生錯誤,產生錯誤'......你明顯可以通過簡單地說'yield'x'來得到相同的結果」。 – nbrooks

回答

4

這是正確的做法:

var isDateTimEndEmpty = !$.trim(dateTimeEnd.val()).length; 

好的做法是使用$.trim這使得代碼忽略輸入字段空間。所以如果的長度修整爲,那麼值爲0,那麼該值爲空。

+0

+1,但請解釋它的作用 – Bergi

1

檢查其長度

var isDateTimeEndEmpty = $.trim($('#txtboxID').val()).length > 0; 
0

dateTimeEnd.val()結果將不能爲空。它總是一個字符串,可能是空字符串。

在實際上,你並不需要獲得一個「真實」的「假」,只是一個「真正的」或「falsy」的價值,像空或非空字符串:

var isDateTimEndEmpty = $.trim(dateTimeEnd.val()) //remove spaces at start and end 
if (isDateTimEndEmpty) { 
    //if dataTimeEnd is not empty, go here 
} else { 
    //if dateTimeEnd is empty, go here 
} 

如果你對隱式投射感到不舒服,你可以用明確的方式編碼:

var isDateTimEndEmpty = Boolean($.trim(dateTimeEnd.val())); //explicit casting 
相關問題