selectselect2后触发一个动作

我正在使用select2库进行search。
selectsearch结果后有什么办法可以触发一个动作吗? 例如打开一个popup窗口,或简单的js警报。

$("#e6").select2({ placeholder: "Enter an item id please", minimumInputLength: 1, ajax: { // instead of writing the function to execute the request we use Select2's convenient helper url: "index.php?r=sia/searchresults", dataType: 'jsonp', quietMillis: 3000, data: function (term, page) { return { q: term, // search term page_limit: 10, id: 10 }; }, results: function (data, page) { // parse the results into the format expected by Select2. // since we are using custom formatting functions we do not need to alter remote JSON data return {results: data}; }, }, formatResult: movieFormatResult, // omitted for brevity, see the source of this page formatSelection: movieFormatSelection, // omitted for brevity, see the source of this page dropdownCssClass: "bigdrop", // apply css that makes the dropdown taller escapeMarkup: function (m) { return m; } // we do not want to escape markup since we are displaying html in results }); 

请参阅文档中的“事件”部分或有关事件的更多详细信息部分 。

根据版本的不同,下面的代码段应该给你所需要的事件,或者把“select2-selection”replace为“change”。

版本4.0 +

事件格式如下: select2:selecting (而不是select2-selecting

感谢snakey通知,这已经改变了4.0

 $('#yourselect').on("select2:selecting", function(e) { // what you would like to happen }); 

4.0之前的版本

 $('#yourselect').on("select2-selecting", function(e) { // what you would like to happen }); 

为了澄清, select2-selecting的文档如下:

select2-selection在下拉菜单中select选项时,但在对select进行任何修改之前触发。 该事件用于允许用户通过调用event.preventDefault()来拒绝select。

而变化有:

select更改后更改已启动。

因此,根据您是否希望完成select然后完成事件,或者可能阻止更改, change可能更适合您的需求。

对select2事件名称做出了一些改变(我在第4节及以后),所以' – '改成了':'
看下面的例子:

 $('#select').on("select2:select", function(e) { //Do stuff }); 

您可以在'select2'插件网站查看所有事件: select2 Events

这个对我有用:

 $('#yourselect').on("change", function(e) { // what you would like to happen });