2013-03-26 35 views
1

我試圖在jQuery中使用自動填充小部件,但是當我開始輸入時,什麼也沒有顯示出來。我可以告訴它正在做一些事情,因爲我可以看到頁面上的滾動條隨着列表變短而改變,但我看不到結果。我的代碼如下。任何幫助與此讚賞。隱藏的jQuery自動完成呈現結果

我控制器的方法是這樣的:

public ActionResult GetUsers(string query) 
    { 
     var empName = from u in HomeModel.CombineNames() 
         where u.StartsWith(query) 
         select u.Distinct().ToArray(); 
     return Json(empName); 
    } 

我的視圖看起來是這樣的:

<script type="text/javascript"> 
$(document).ready(function() { 
    $("input#autocomplete").autocomplete({ 
     source: function(request, response) { 
      $.ajax({ 
       url: '/Home/GetUsers', 
       type: "POST", 
       dataType: "json", 


       data: { query: request.term }, 
       success: function(data) { 
        response($.map(data, function(item) { 
         return { label: item, value: item }; 
        })); 
       } 
      }); 
     } 
    }); 
}) 
</script> 
<input type="text" id = "autocomplete"/> 

回答

0

你缺少一些東西,比如渲染項目,緩存管理。

代碼應該看起來像這樣:(假設你的動作返回字符串數組)

+0

感謝您的幫助。當我嘗試實現它時,它表示_renderItem爲null或未定義。 – 2013-03-26 21:16:21

+0

jQuery和jQuery UI你使用哪個版本? – 2013-03-26 21:20:47

+0

jQuery 1.7.1和jQuery UI 1.8.20 – 2013-03-26 21:35:42

0

嘗試使用瀏覽器的檢查工具檢查您的滾動條改變區域。如果元素存在,您可能需要對CSS進行一些更改,以便您的文本顏色與背景顏色(或其他與顯示相關的問題)不同。

+0

我刪除了CSS從頁面來檢查,我仍然有同樣的問題。 – 2013-03-26 16:15:05