Я отвечу на ваш вопрос, но затем дам вам лучшее решение.
Во-первых, вам нужно убедиться, что то, к чему вы прикрепляете .on()
, действительно существует. Я обычно использую содержащий DIV или не работающий body
или html
.
Во-вторых, вам не хватает параметра, который сообщает jQuery о том, на что вы хотите посмотреть, чтобы нажать на него. В этом случае я предполагаю, что это тег UL
с указанным вами идентификатором.
Это должно делать то, что вы хотите:
$(document).ready(function () {
$('body').on("click", "#select2-id_customer-results", function() {
console.log('hello')
})
})
Но лучшим решением было бы используйте API Select2, чтобы он сообщал вам, когда что-то выбрано. Это будет намного более надежно и должно заставить ваш код работать после обновлений до Select2.
Примерно так:
$('select[name="customer"]').on('select2:select', function (e) {
var data = e.params.data;
console.log(data);
});
ПРИМЕЧАНИЕ: #mySelect2
, вероятно, не то, что у вас есть , Используйте любой идентификатор, который вы использовали для инициализации Select2 в jQuery.
Подробнее об этом API можно прочитать здесь: https://select2.org/programmatic-control/events