首页 文章

jQuery Select2插件“查看更多...”,隐藏搜索文本字段问题

提问于
浏览
0

我有一系列关于jQuery Select2插件的问题(我是Select2的新手,只有一天):

  • 我通过AJAX调用获取数据(使用Select2的ajax功能),并试图找到一种方法在下拉列表显示结束时添加“查看更多...”选项 . 点击“查看更多...”必须转到另一个单独的搜索页面 .

如果我可以进入加载AJAX调用的OnSuccess或OnComplete事件,我可以在下拉结果中找到相关的DIV并附加“查看更多...”div . 这甚至可能吗?

我不想在Select2中使用“自动滚动”功能 .

  • 我在Select2下拉列表旁边有一个搜索按钮,当用户在搜索框中键入一些字符时,我进行AJAX调用并显示数据 . 在这里,我还需要的是当用户点击搜索按钮时,我应该在搜索框中键入值并进行另一次重定向 . 我面临的问题是这个 - 因为Select2要求搜索框对于AJAX加载是“隐藏的”,当用户搜索时,搜索文本没有填入隐藏字段,我不知道在哪里/如何获取在搜索文本中输入的内容 .

  • 填写AJAX数据时,会选择下拉列表中的第一项,如何不选中它 . 或者更好的是,如果他们使用键在列表中上下移动,我会很酷,如果你到达第一项并键入,它会专注于搜索文本框 - 就像LinkedIn搜索框一样 .

1 回答

  • 0

    (1)以下是查看更多问题的代码:

    $("#select").on('open', function() { 
        $(".select2-results").append('<li class="select2-results-dept-0 select2-result select2-result-unselectable select2-result-with-children"><div class="select2-result-label view-more">View More</div></li>');
        $(".view-more").on("click", function() { window.location.href = "another_url"; });
    });
    

    (2)您可以通过以下方式访问搜索框的值:

    var searchValue = '';
    $('.select2-search input').on('keydown', function(e) { 
        searchValue = $(this).val();
        console.log(searchValue);
    });
    
    $("#myBtn").on("click", function() { 
        alert(searchValue);
    });
    

    (3)要取消选择默认选择的选项,请将此代码放入 open 函数:

    $('.select2-results .select2-highlighted').removeClass('select2-highlighted');
    

    你可以在这里查看它的工作原理:http://jsfiddle.net/netme/EW8t7/1/

相关问题