Ajax dojo filteringSelect非常慢
在我的项目中,我使用country selected获取城市 现在我有一个国家的大约8000个城市,正因为如此,filteringSelect需要时间快速展示 下面是我用来获取记录并在页面中显示的ajax函数Ajax dojo filteringSelect非常慢,ajax,select,dojo,filtering,Ajax,Select,Dojo,Filtering,在我的项目中,我使用country selected获取城市 现在我有一个国家的大约8000个城市,正因为如此,filteringSelect需要时间快速展示 下面是我用来获取记录并在页面中显示的ajax函数 function GetCities(){ dojo.xhrPost({ url: 'GetCitiesForCountry.action', load: getCityCallback, error: getCityError, content: {c
function GetCities(){
dojo.xhrPost({
url: 'GetCitiesForCountry.action',
load: getCityCallback,
error: getCityError,
content: {countryId: dijit.byId('cmbcountryid').value }
});
}
function getCityCallback(data,ioArgs) {
//alert(data);
dijit.byId('cmbcityid').destroy();
dojo.byId('td_city').innerHTML = data;
dojo.parser.parse();
}
在上面的“GetCitiesForCountry.action”中,将获取countryId并获取该国家的所有城市,创建城市组合并返回它
在getCityCallback函数中,我使用innerHTML将返回的combobox放置在其各自的td中
这一切都很好
但当我点击fiteringSelect的下拉按钮时,显示下拉列表大约需要5-6秒。。我不明白为什么
有人能帮我吗
有没有办法使它足够快
提前感谢。我正在使用dijit.form.FilteringSelect作为大约6000项的下拉菜单。根据用户类型显示/过滤各种选择所需的时间非常长
是否有任何修复或替代选项可用于创建包含大量项目(~6000)的可键入下拉菜单。您是使用
创建选择,还是使用ItemFileReadStore(或其他存储)?8000是一个很大的数字,但同样地,5-6秒听起来有点慢。我正在使用而不是ItemFileReadStore。这可能是问题所在。无论如何,我建议提交一个bug()。通过使用“pageSize=10”属性,我能够提高Firefox和其他现代浏览器的性能。IE6和IE7的性能仍然很差。我认为问题似乎在于dojo本身。。谢谢你的回答。我宁愿把它分为州和城市。问题解决了,使用起来更加优雅,它也有意义。