所以我有一个简单的选择列表
<select id="themes" class="selectpicker">
<option selected>mkl-ambiance</option>
<option>default</option>
<option>ambiance</option>
<option>blackboard</option>
</select>
和一小段jquery
$("#themes").change(function() {
var theme = $("#themes").val();
editor.setOption("theme", theme);
});
如果我从选择中删除class="selectpicker"
,则回拨按预期工作。
我甚至添加了onchange="doMyFunction
并将$("#themes").change(function() {
更改为function doMyFunction() {
,但仍然无效。是否有一些引导魔法让我无法正常工作?
答案 0 :(得分:3)
这是因为Selectpicker会生成<ul>
和<li>
标记,并将<select>
和<option>
放在一边。它会为每个<li>
元素添加“rel”属性,以便您知道相对于所选<li>
选择了哪个选项。
无论如何,您应该使用Selectpicker插件中的官方onChange事件,或执行以下操作:
$('ul.dropdown-menu.selectpicker li').on('click', function () {
var selectedValue = $($('select.selectpicker option')[$(this).attr('rel')]).val();
});