【问题标题】:dojo filteringSelect is very slowdojo 过滤选择很慢
【发布时间】:2009-09-04 14:23:49
【问题描述】:

在我的项目中,我使用所选国家/地区获取城市。

现在我有 1 个国家/地区的大约 8000 个城市,因此过滤选择需要时间来快速显示。

以下是我用来获取记录并将其显示在我的页面中的 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 秒。我不明白为什么?

谁能帮帮我?

有没有办法让它足够快。

提前致谢。

【问题讨论】:

  • 您是在使用 <option> 创建选择还是使用 ItemFileReadStore(或其他商店)? 8000 是一个很大的数字,但在同一个音符上 5-6 秒听起来有点慢。
  • 我使用的是
  • 这可能是问题所在。无论如何,我建议提交一个错误 (bugs.dojotoolkit.org)。

标签: ajax select dojo filtering


【解决方案1】:

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

是否有任何修复或替代选项来制作包含大量项目(约 6000 个)项目的可键入下拉菜单。

【讨论】:

  • 通过使用 'pageSize=10' 属性,我能够提高 Firefox 和其他现代浏览器的性能。在 IE6 和 IE7 上的性能仍然很差。
  • 我认为问题似乎出在道场本身。谢谢你的回答。 amar4kintu
  • 我宁愿把它分成州,然后是城市。问题解决了,使用起来更优雅,也很有意义。
猜你喜欢
  • 2013-11-18
  • 2016-10-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-18
  • 2023-03-12
  • 1970-01-01
相关资源
最近更新 更多