2014-07-18 87 views
0

我有這樣的代碼:如何檢查空值(Jquery)?

$('#search_field').keyup(function() { 
    LIBRARY.ajaxGet('{$addUrl}', {name: $(this).val()}, function(data) { 
     $('.contacts').html(data['html']); 
    }); 
}); 

我需要$(this).val()是爲name屬性的值,如果它不是空的。如果它,那麼該對象應該是空的。

+0

P.S.如果'#search_field'是一個輸入元素,則可以在事件處理函數中使用'this.value'來獲取輸入值。您可以使用if(this.value!='')'來檢查是否有值... – feeela

+2

您應該實現搜索查詢的最小長度,以便不發送搜索條件的請求只有一個或兩個字符。 (例如'if(this.value.length> 3)') – feeela

回答

1

你要在外面創建對象,進行檢查,然後它:

$('#search_field').keyup(function() { 
    var nameObj = {}; 
    if ($(this).val()) { 
     nameObj.name = $(this).val(); 
    } 

    LIBRARY.ajaxGet('{$addUrl}', nameObj, function (data) { 
     $('.contacts').html(data['html']); 
    }); 

}); 
-1

嘗試把你的屬性對象在變:

var myParams = {}; 

if($(this).val().length > 0){ 
    myParams = { "name": $(this).val() }; 
} 

LIBRARY.ajaxGet('{$addUrl}', myParams, function(data){ 
    $('.contacts').html(data['html']); 
}); 
1

不當然我確切地知道你需要什麼,但我想你想看看你的輸入框中的值是否爲keyup並非爲空,那麼你可以這樣做:

$('#search_field').keyup(function() { 
    if(this.value.length > 0) { 
     // rest of your code ... 
    } 
});