【发布时间】:2016-06-27 07:23:12
【问题描述】:
我在 html 中有一个普通的选择标签
<div>
<select name="sort-by" id="sort-by" class="nice-select show-menu-arrow">
<option value="sortby">Sort By..</option>
<option value="Section">Section</option>
<option value="Alphabetical">Alphabetical</option>
<option value="Time">Time</option>
</select>
当我的表单中发生以下任一事件时,jQuery 中的以下代码将发送 AJAX 请求(使用选择标签的 .val()):选择标签发生变化、单击复选框或字符在搜索栏中输入。
$("#filter-words select, #filter-words input[type='checkbox'], #filter-words input[type='text']").on('change keyup', function() {
var sortBy = $("#filter-words select#sort-by").val();
在我使用 jQuery 插件“nice-select”之前,这段代码运行良好 (http://hernansartorio.com/jquery-nice-select/)
使用此插件时,.on('change') 事件在 select 标签上不起作用。这样做的原因(我相信)是,根据 nice-select 页面(上面的链接),在使用插件时,这是:
<select>
<option value="1">Some option</option>
<option value="2">Another option</option>
<option value="3" disabled>A disabled option</option>
<option value="4">Potato</option>
</select>
变成这样:
<div class="nice-select">
<span class="current">Some option</span>
<ul class="list">
<li class="option selected">Some option</li>
<li class="option">Another option</li>
<li class="option disabled">A disabled option</li>
<li class="option">Potato</li>
</ul>
</div>
所以我的问题是:
我怎样才能解决这个问题?根据这个问题 (Change function stop working when I add Dropkick or MultiSelect plugins to style Select elements),选择标签插件 DropKick 和 MultiSelect 对此进行了记录,但我似乎无法找到有关此问题的任何文档用于 nice-select。
【问题讨论】:
-
提供 MCVE 复制您的问题
-
#filter-words元素真的包围了选择吗?...试试这个代码:var sortBy = $("#sort-by").val();
标签: jquery events select plugins