我有一个很长的下拉列表项目列表。由于列表很长,我想只显示列表中的项目,如果用户实际点击下拉列表来展开它。我找到了关于如何将AJAX与级联下拉列表一起使用的各种教程,但没有解释是否有可能只有一个下拉列表,当用户扩展它时会填充AJAX。
是否有任何扩展器附带我错过的AJAX工具包?实现这一目标的最佳方式是什么?
谢谢, 本
答案 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();
}