2010-07-26 117 views
1

我有一個非常長的下拉列表項目列表。由於列表很長,我只想顯示列表中的項目,如果用戶實際單擊下拉列表以展開它。我發現了關於如何使用帶有級聯下拉列表的AJAX的各種教程,但沒有解釋是否有可能只有一個dropdownlist,當用戶擴展AJAX時填充它。使用AJAX填充DropDownList

有沒有任何擴展與AJAX工具包,我錯過了?什麼是實現這一目標的最佳方式?

感謝, 本

回答

1

我會做的是這樣的:

在列表中有一個空的項目。當下拉列表獲得焦點時,您可以將該項目更改爲加載或類似的內容。然後你可以打你想要的ajax電話。

一旦它完成,您從下拉列表中取消綁定焦點事件,因此您不會在隨後的焦點事件上重新加載。

似乎不會太難做這樣的事情。

我會看看如果你需要幫助,我可以在jsfiddle上做些什麼。

編輯:順便提一下關於擴展器的問題,我對此一無所知。

編輯2:你可以嘗試這樣的事:

$(document).ready(
    function() 
    { 
     $("#theSelect").bind("focus", function() 
          { 
           $("option:first", this).html("Loading..."); 
           setTimeout(AjaxSuccessCall, 2000); 
          }); 
    }); 

function AjaxSuccessCall(data) 
{ 
    var select = $("#theSelect"); 
    select.unbind("focus"); 
    select.children("option").remove(); 
} 
+0

嗨自旋子,感謝您的回覆。你知道有哪些教程可以使用這種方法嗎?我只是開始整個AJAX的事情,所以不太確定要尋找什麼。 – b3n 2010-07-26 22:36:37

+0

我添加了一個例子。 – spinon 2010-07-27 04:23:54

+0

感謝spinon的例子,生病了試試看。乾杯。 – b3n 2010-07-27 22:12:14