2009-09-04 58 views
0

在我的项目中,我使用选择的国家/地区提取城市。dojo filteringSelect非常慢

现在我有一个国家约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将返回的组合框放置在其各自的td中。

这一切工作正常。

但是,当我点击fiteringSelect下拉按钮大约需要5-6秒显示下拉列表..我不明白为什么?

任何人都可以帮助我吗?

有没有什么办法让它足够快。

在此先感谢。

+0

您是否正在使用'

+0

我正在使用

+0

这可能是问题所在。无论如何,我建议提交一个bug(http://bugs.dojotoolkit.org)。 – 2009-09-09 23:42:38

回答

1

我使用dijit.form.FilteringSelect为约6000个项目的下拉菜单。作为用户类型显示/过滤各种选择所花费的时间非常长。

是否有任何修复或替代选项用于制作大量项目(〜6000)项目的可键入下拉菜单。

+1

通过使用'pageSize = 10'属性,我可以提高Firefox和其他现代浏览器的性能。 IE6和IE7的表现仍然非常糟糕。 – Kan 2009-11-18 06:22:57

+0

我觉得问题似乎与道场本身.. 感谢您的帮助。 amar4kintu – amar4kintu 2009-12-29 12:49:44

+0

我宁愿把它分成州和城市。问题解决了,在使用上更加优雅,也是有道理的。 – 2009-12-29 15:39:03