2009-09-04 88 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