2013-05-13 140 views
1

我有項目在我的HTMLJQuery的選擇填充

一個輸入文字(公司)字段和選擇(Company_List)

,當用戶在文本字段我想jQuery來使用/ home/SearchSynonym /獲取名稱和選擇顯示它(SearchSynonym取值用戶類型,並做了通配符搜索和返回ID和名稱)

能有人幫助,是TI全新的jQuery

的Leb

回答

1

您需要澄清SearchSynonym以哪種格式返回ID和NAME?它在JSON中嗎?如果是在JSON,然後嘗試以下方法:

var companyList = $("#Company_List"); 

$("#company").change(function(){ 
    $.getJSON("/Home/SearchSynonym/",{ query: $(this).val() }, function(response){ 
     var responseList = ""; 
     $.each(result, function(index, item){ 
      responseList += "<option value='" + item.id + "'>" + item.name + "</option>"; 
     }); 
     companyList.html(responseList); 
    }); 
});  

,如果你的「公司」文本字段熊ID =「公司」的標籤decleration,你的「Company_List」下拉承擔id該會工作=」 Company_List「,並且服務器端接收參數」query「來提取記錄。

+0

是的SearchSynonym返回JSON,所以如果我在用戶開始在公司文本輸入中輸入時添加代碼選擇將填充從SearchSynonym查詢返回? – LeBlues 2013-05-13 09:03:00

+0

是的,它應該。 – 2013-05-13 10:17:55

+0

我該如何推遲搜索?例如,如果使用類型快速我想延遲大約2秒? – LeBlues 2013-05-13 10:28:53

1

您可以使用setTimeout。試試這個:

var companyList = $("#Company_List"); 

$("#company").change(function(){ 
    setTimeout(function() { 
     $.getJSON("/Home/SearchSynonym/",{ query: $(this).val() }, function(response){ 
      var responseList = ""; 
      $.each(result, function(index, item){ 
       responseList += "<option value='" + item.id + "'>" + item.name + "</option>"; 
      }); 
      companyList.html(responseList); 
     }); 
    }, 2000);  
}); 

2000的值表示2秒延遲。

+0

setTimeout dos似乎不想提交查詢,我將$(「#company」)更改爲$(「#company」)。沒有超時它可以工作 – LeBlues 2013-05-13 10:51:27

+0

Uncaught TypeError:無法調用未定義的方法'toLowerCase'jquery-2.0.0.js:3907 jQuery.fn.extend.val jquery-2.0.0.js:3907 (匿名函數) – LeBlues 2013-05-13 11:00:50

+0

$。 getJSON(「/ Home/SearchSynonym /」,{query:$(「#company」).val()},function(response) – LeBlues 2013-05-13 14:32:28