2011-06-21 112 views
0

我在jQuery中动态填充下拉菜单的初始化有问题。 基本上,我有功能fillCityList,它使AJAX呼吁填补通过国家的城市。 因为这是用于Edit的形式,所以我在id_cityHidden字段中有一个默认的City值。 其实下面的代码运作良好。但是,因为fillCityList需要很长时间来填写城市列表,而默认城市被选中,城市列表可能没有准备好。jQuery AJAX动态下拉菜单的初始数据问题

$(document).ready(function() { 
    fillCityList(1); 
    $('#city').val($("#id_cityHidden").val()); 
}); 

我知道有“在AJAX调用的complete阶段通话功能”像一个解决方案,但我只需要它在初始化过程中。 一个解决方案可能是在fillCityList和 之间设置timeoutdelay$('#city').val($("#id_cityHidden").val())然而,它当然不是一个好的解决方案。

这样做的最好方法是什么?

谢谢

回答

1

我建议你建立你的ajax使用'完整'功能,然后更新值。

http://api.jquery.com/ajaxComplete/

+0

感谢您的回复,但正如我说,这可能不是一个很好的解决方案,因为当发生形式的错误可能会导致崩溃。但是,如果这是唯一的方法,我会去应用它.. – brsbilgic

+0

如果你认为它会抛出错误,请使用try {// code} catch(error){//尝试修复错误} – Tank