2014-01-31 70 views
0

存在元件I具有的代碼塊,看起來像這樣:檢查是否與jQuery

//Account Number 
     account = $(msg).find('[name=account_number]').val(); 

     if(account){ 
      $('#progressUpdates').append('<span class="glyphicon glyphicon-ok"></span>&nbsp;&nbsp;Found Account Number<br />'); 
     }else{ 
      $('#progressUpdates').append('<span class="glyphicon glyphicon-remove"></span>&nbsp;&nbsp;Account Number not found<br />'); 
     } 

的問題是,如果被分配到帳戶中的元件不存在,它會引發錯誤。我試着做:

if(account.length){} 

但問題不在於if語句,它的賦值變量。有更好的解決方案嗎?

+0

當前的代碼應該工作。 'val()'返回'undefined'是它所調用的元素不存在。的 – techfoobar

+1

可能重複[是否有一個「存在」功能的jQuery?](http://stackoverflow.com/questions/31044/is-there-an-exists-function-for-jquery) – undefined

+0

你嘗試過的typeof帳戶! =='未定義'? – euther

回答

3

不要叫val()

account = $(msg).find('[name=account_number]');

和焯芬長度 -

if(account.length){

+0

我需要的元素的值雖然。 – SBB

+0

@SBB當然...如果存在,你可以調用val(),對吧? –

+0

似乎比需要更多的代碼,但我想如果多數民衆贊成在唯一的方法 – SBB

1

,而不是這樣的:

account = $(msg).find('[name=account_number]'); 

嘗試刪除.val()

account = $(msg).find('[name=account_number]'); 

好,那麼你必須在檢查長的,如果:

if(account.length){ 

,或者如果你想從它的值由安東的建議:

account.val() 
+0

這將告訴我,它發現的元素,但我需要它的價值以及。 – SBB