javascript - jQuery UI 组合框清除选择事件

标签 javascript jquery jquery-ui combobox

我有一个组合框,其 HTML 如下所示:

<select id="myCombo">
  <option value=""></option> <!-- Not shown in jQuery UI Combobox because empty value -->
  <option value="1">Option 1</option>
  <option value="2">Option 2</option>
  <option value="3">Option 3</option>
</select>

我已经将 jQuery UI Combobox 附加到 I:

$("#myCombo").combobox({
    select: function () {
        if ($("#myCombo").val() == "") {
            //DO SOMETHING
        }
        else {
            //DO SOMETHING ELSE
        }
    }
});

当我通过键入和/或选择一个选项来选择一个选项时,“做其他事情”部分会像它应该的那样被触发,所以没有问题。

但是,当我通过删除文本或单击“x”清除选择(这选择了我原始组合的第一个选项)时,没有任何东西被触发,所以我无法执行我的“做某事”部分功能。

我怎样才能触发这部分?清除选择时是否可能触发另一个事件?

我搜索并发现了很多关于选择项目的主题,但没有关于清除/取消选择的主题(至少得到了回答)。

最佳答案

这可以通过 select2 来完成.

$("#myCombo").select2({
    placeholder: "Select report type",
    allowClear: true,
});
$("#myCombo")
    .on("select2-selecting", function(e) {
        log("selecting val=" + e.val + " choice=" + JSON.stringify(e.choice));
    })
    .on("select2-removed",   function(e) {
        log("removed");
    })

关于javascript - jQuery UI 组合框清除选择事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21726337/

相关文章:

javascript - Greasemonkey 获取所有打开的标签页的名称

javascript - 我的nodeJS代码不是异步的

jquery-ui - 可拖动的容器滚动移动到左侧或顶部

php - jQuery UI 可排序 php/mysql

jquery - 多个 jquery-ui slider

javascript - 在 React Components 中挂载转换 DOM 的外部脚本?

javascript - 获取要为 ajax 调用附加的所有表单元素值

php - 带有 jquery 的数据库灯箱仅显示数据库的第一个条目

javascript - jQuery 在选中时获取复选框值,在未选中时删除值

javascript - 托管在不同服务器上时刷新 iframe