我在为 PyroCMS 开发模块时遇到了一个小问题。
我想使用 jQuery 动态更新下拉列表。 我想设置选中的选项,但它似乎不起作用,因为下拉列表不是浏览器的默认列表。
我试过这个:
$('select[name=item-type] option[value='+type+']').attr('selected', 'selected');
但 UI 没有更新。
最佳答案
终于找到了解决办法。
下拉自定义 UI 由名为 Chosen 的插件提供支持.
编辑 DOM 元素不会更新 Chosen 下拉 UI,因为此插件不会动态监视其附加的 <select>
.您需要通过触发事件明确地告诉 Chosen 您刚刚更新了 DOM。
直到版本2.3
PyroCMS 使用 Chosen 0.9
, 所以你可以像这样触发事件:
$('select.any-selector').trigger("liszt:updated");
为了完整,选择 1.0
事件已更改,您必须使用:
$("select.any-selector").trigger("chosen:updated");
引用资料:
- > https://forum.pyrocms.com/discussion/19059
- 选择的网站:http://harvesthq.github.io/chosen/
- 选择 Github 存储库:https://github.com/harvesthq/chosen
- Github 上的 PyroCMS plugin.js system/cms/themes/pyrocms/js/plugins.js
关于javascript - 在 PyroCMS 中使用 jQuery 更新下拉列表的选定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11511037/