Ajax dojo filteringSelect非常慢

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

在我的项目中,我使用country selected获取城市

现在我有一个国家的大约8000个城市,正因为如此,filteringSelect需要时间快速展示

下面是我用来获取记录并在页面中显示的ajax函数

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本身。。谢谢你的回答。我宁愿把它分为州和城市。问题解决了,使用起来更加优雅,它也有意义。