使用AJAX填充DropDownList
问题描述:
我有一个非常长的下拉列表项目列表。由于列表很长,我只想显示列表中的项目,如果用户实际单击下拉列表以展开它。我发现了关于如何使用带有级联下拉列表的AJAX的各种教程,但没有解释是否有可能只有一个dropdownlist,当用户扩展AJAX时填充它。使用AJAX填充DropDownList
有没有任何扩展与AJAX工具包,我错过了?什么是实现这一目标的最佳方式?
感谢, 本
答
我会做的是这样的:
在列表中有一个空的项目。当下拉列表获得焦点时,您可以将该项目更改为加载或类似的内容。然后你可以打你想要的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();
}
嗨自旋子,感谢您的回复。你知道有哪些教程可以使用这种方法吗?我只是开始整个AJAX的事情,所以不太确定要寻找什么。 – b3n 2010-07-26 22:36:37
我添加了一个例子。 – spinon 2010-07-27 04:23:54
感谢spinon的例子,生病了试试看。干杯。 – b3n 2010-07-27 22:12:14