javascript - 如何在 select2 上调用 "if no search result"?

标签 javascript jquery jquery-select2

美好的一天,

如何在 select2 上调用“无搜索结果”?例如,我想向我的 select2 文本框添加一个事件监听器,但仅当没有找到结果时?

这是我的js代码:

$("#textBoxId").select2({
    placeholder: 'Select a product',
    formatResult: productFormatResult,
    formatSelection: productFormatSelection,
    dropdownClass: 'bigdrop',
    escapeMarkup: function(m) { return m; },
    formatNoMatches: function( term ) {
    return "<li class='select2-no-results'>"+"No results found.<button class='btn btn-success pull-right btn-xs' onClick='modal()'>Add New Item</button></li>";
    },
    minimumInputLength:1,
    ajax: {
        url: '/api/productSearch',
        dataType: 'json',
        data: function(term, page) {
            return {
                q: term
            };  
        },  
        results: function(data, page) {
            return {results:data};
        }   
    }   
});

我尝试添加:

formatNoMatches: function( term ) {
      $('.select2-input').on('keyup', function(e) {
         if(e.keyCode === 13) 
           {
            $("#modalAdd").modal();
           }
      });
    return "<li class='select2-no-results'>"+"No results found.<button class='btn btn-success pull-right btn-xs' onClick='modal()'>Add New Item</button></li>";
    },

它起作用了,当我按“输入键”时,模式会显示,但即​​使我不搜索任何内容,当我按输入键时,模式仍然会显示。

我想要实现的是,当“未找到结果”时,我只需按“enter”键即可打开我的模式表单,而不是单击链接,以便打开模式。谢谢非常感谢您的帮助!祝你有美好的一天!

最佳答案

通过搜索一些替代方案,我找到了这段代码,一旦在我的代码中调用模式,我就取消绑定(bind) keyup 监听器事件:

    formatNoMatches: function( term ) {
      var flag = 1;
      $('.select2-input').on('keyup', function(e) {
         if(e.keyCode === 13) 
           {
            $("#modalAdd").modal();
            $(".select2-input").unbind( "keyup" );
           }
      });
    return "<li class='select2-no-results'>"+"No results found.<button class='btn btn-success pull-right btn-xs' onClick='modal()'>Add New Item</button></li>";
    }

关于javascript - 如何在 select2 上调用 "if no search result"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21559000/

相关文章:

javascript - 深入理解 JavaScript : is it a class, 一个函数,还是一个变量?

jquery - 图像顶部的可缩放和可拖动标签

jquery - bx slider 启动/停止功能

javascript - Jquery Select2 插件不会应用于 JS 调用 Rails 应用程序后呈现的输入

javascript - Angular UI select2 数组与对象可能吗?

javascript - 如何从java脚本回复按钮获取值到数据库中?

javascript - 使用 jQuery 滚动到 div

javascript - 在页面卸载之前显示正在加载的 GIF

javascript - 如何混合选择 2 加载远程数据与初始选择

javascript - jQuery Datatables 请求行 '0' 列 '0' 的未知参数 '0'