2013-07-19 86 views
1

即時通訊相當新的jquery和即時通訊構建一個MVC 4網站,這工作正常但我想處理事件的用戶清除搜索條件,然後更新我的表到其原始狀態(jQuery-Autocomplete)在清除搜索框後顯示所有結果

var submitAutoCompleteForm = function (event, ui) { 
    var $input = $(this); 
    $input.val(ui.item.label); 
    var $form = $input.parents("form:first"); 
    $form.submit(); 
}; 
var createAutoComplete = function() { 
    var $input = $(this); 
    var options = { 
     source: $input.attr("data-otf-autocomplete"), 
     select: submitAutoCompleteForm 
    }; 
    $input.autocomplete(options); 
}; 
$("input[data-otf-autocomplete]").each(createAutoComplete); 

回答

1

您需要添加此選項,要求0字符啓動搜索:

minLength: 0 

啓用此功能後,你可以點擊向下箭頭,該列表將顯示

編輯:

現在,我理解這個問題更好的,你可能會需要添加的「搜索」選項 任何事情之前大火從源要求,因此是看如果字段是一個最佳的地方的搜索選項空或不空。

,search: function(event, ui){ 
      if($(this).val() == ''){ 
       //code to show table 
      } 
     } 

您還可以使用在中值的變化而變化的選擇,但在我的經驗,只有火災或更緊密地當字段觸發一個模糊事件,所以我個人不喜歡在我的應用程序

其行爲
,change: function(event, ui){ 
      if($(this).val() == ''){ 
       //code to show table 
      } 
     } 
+0

@ MonkeyZeus-自動完成工作正常,但可以說,我選擇了一個結果後,並更新我的表我想通過清除搜索框 –

+0

顯示所有結果哦。所以你正在尋找代碼來處理你的('submit')事件來做一個AJAX POST到你的數據庫,然後用每個自動完成選項填充一個html表格? – MonkeyZeus

+0

submitAutoCompleteForm是一個你需要調用的函數,還是一個佔位符,用於當前未知的代碼? – MonkeyZeus

0

我最終使用一種不同的方法,其在本質上是一樣的東西@MonkeyZeus建議

$("input[type='search']").keyup("search", function() { 
    if (!this.value) { 
     //code to update the table 

} });