Запуск действия после выбора select2



Я использую select2 библиотека для моего поиска.

есть ли способ, чтобы вызвать действие после выбора результата поиска? например, откройте всплывающее окно или простое предупреждение 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
});
743   4  

4 ответов:

посмотреть раздел документация события

в зависимости от версии, один из приведенных ниже фрагментов должен дать вам событие, которое вы хотите, в качестве альтернативы просто замените "select2-selecting" на "change".

версия 4.0 +

события теперь в формате: select2:selecting (вместо select2-selecting)

спасибо снейки для уведомления о том, что это изменилось начиная с версии 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 выбор Срабатывает, когда выбор выбирается в выпадающее меню, но до внесения каких-либо изменений в выбор. Это событие используется, чтобы позволить пользователю отклонить выбор путем вызова событие.preventDefault ()

в то время как изменения есть:

изменить Уволен, когда выбор есть измененный.

так change может быть более подходящим для ваших потребностей, в зависимости от того, хотите ли вы завершить выбор, а затем выполнить свое событие или потенциально заблокировать изменение.

были внесены некоторые изменения в имена событий select2 (я думаю, что на V. 4 и позже), поэтому ' -' в этой ':'.
См. следующие примеры:

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

вы можете проверить все события на сайте плагина' select2': select2 события

это работает для меня:

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

согласно моему использованию выше v. 4 это будет работать

$('#selectID').on("select2:select", function(e) { 
    //var value = e.params.data;  Using {id,text format}
});

и для менее чем v. 4 это будет работать:

$('#selectID').on("change", function(e) { 
   //var value = e.params.data; Using {id,text} format
});

Comments

    Ничего не найдено.