使用AJAX填充DropDownList

时间:2010-07-26 22:16:25

标签: asp.net ajax asp.net-ajax drop-down-menu ajaxcontroltoolkit

我有一个很长的下拉列表项目列表。由于列表很长,我想只显示列表中的项目,如果用户实际点击下拉列表来展开它。我找到了关于如何将AJAX与级联下拉列表一起使用的各种教程,但没有解释是否有可能只有一个下拉列表,当用户扩展它时会填充AJAX。

是否有任何扩展器附带我错过的AJAX工具包?实现这一目标的最佳方式是什么?

谢谢, 本

1 个答案:

答案 0 :(得分: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();
}