1

我在开发PyroCMS模块时遇到了一个小问题。

我想使用 jQuery 动态更新下拉列表。我想设置选定的选项,但它似乎不起作用,因为下拉列表不是浏览器的默认选项。

我试过这个:

$('select[name=item-type] option[value='+type+']').attr('selected', 'selected');

但用户界面没有更新。

4

2 回答 2

2

最后我找到了解决方案。

下拉自定义 UI 由一个名为Chosen的插件提供支持。

编辑 DOM 元素不会更新Chosen 下拉 UI,因为此插件不会动态监视其附加的<select>. 你需要明确地告诉 Chosen 你刚刚通过触发一个事件更新了 DOM。

直到版本2.3PyroCMS 使用 Chosen 0.9,所以你可以触发这样的事件:

$('select.any-selector').trigger("liszt:updated");

要完整,选择1.0事件已更改,您必须使用:

$("select.any-selector").trigger("chosen:updated");

参考:

于 2012-07-23T19:34:19.427 回答
0

我有解决方案

需要进行两项更改

采用

$('.selector').chosen().change(function() { 
}); 

代替

$('.selector').change(function() { 
}); 

当您想更新下拉菜单时,请使用

$('.selector').trigger("liszt:updated");

在这里你去......玩得开心!

于 2014-01-14T11:11:52.003 回答