0

我有一系列关于 jQuery Select2 插件的问题(我对 Select2 很陌生,刚出生一天):

  1. 我通过 AJAX 调用(使用 Select2 的 ajax 功能)获取数据,并试图找出一种在下拉显示末尾添加“查看更多...”选项的方法。单击“查看更多...”必须将我带到另一个单独的搜索页面。

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

    我不想使用 Select2 中的“自动滚动”功能。

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

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

4

1 回答 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/

于 2013-03-27T12:20:49.820 回答