2011-12-01 44 views
7

我使用Google Maps API创建可选邻域列表,并使用Chosen使其看起来不错。我遇到的问题是Maps API没有立即获取数据 - 它通过回调函数执行,这意味着Chosen在添加选项之前应用自己,因此选项无法运行通过选择(导致他们根本没有出现)。如何动态更改选定的选择框?

我认为在理论上,它应该工作,如果我可以在选择应用之前获得选择中的元素,但我不确定如何完全做到这一点。有什么想法吗?

+1

你吃过看看文档中的部分“更改/更新事件”? – Simon

回答

18

尝试过什么文档建议?

更新获选动态

如果您需要在您的选择字段更新选项,并希望选上的 拿起变化,你需要触发“李斯特:更新”关于 事件领域。 Chosen会根据更新后的 内容重新构建自己。

jQuery Version: $("#form_field").trigger("liszt:updated"); 
Prototype Version: Event.fire($("form_field"), "liszt:updated"); 

或者,如果使用较新的版本:

jQuery Version: $("#form_field").trigger("chosen:updated"); 
Prototype Version: Event.fire($("form_field"), "chosen:updated"); 

http://harvesthq.github.com/chosen/

+0

哦,我也错过了在文档中...有时会发生... :) –

+3

现在是:$(“#form_field”)。trigger(“chosen:updated”); –

+0

@DanyMarcoux感谢您的评论,帖子现在已经更新了更新的代码。 –

4

对于选择版本< 1.0然后:

$("#form_field").trigger("liszt:updated"); 

对于选择版本> = 1.0则:

$("#form_field").trigger("chosen:updated");