Member 10111160 Ответов: 1

Не могу получить select2 select event для запуска


Hi 
Thinking this should be so simple trying to execute a function when the selected event of JQuery select2 fires, but it doesn't fire, nothing at all in the console.

The select2 is on an aspx page on a formview, i hav removed it off the formviwew if for some reason it wasnt able to find it, exacctly the same nothing fires nothing in the console. Jquery is 3.3.1.

I am now out of ideas .....

Select2 version is 4.05, I have tried id=tagSelector" in place of name="tagSelector" I have also tried 

<pre>    <script >

        $(document).ready(function () {
            $(document).ready(function () {
                $('#tagSelector').select2();
            });
        });
    </script>


Что я уже пробовал:

<pre>HTML

Скрыть Код Скопировать
&ЛТ;выберите имя="tagSelector" несколько="несколько"и GT;
&ЛТ;значение параметра="вкладка 1"и GT;вкладка 1&ЛТ;/вариант&ГТ;
&ЛТ;значение параметра="Tag2"&ГТ;Tag2&ЛТ;/вариант&ГТ;
&ЛТ;значение параметра="Tag3"&ГТ;Tag3&ЛТ;/вариант&ГТ;
&ЛТ;значение параметра="Tag4"&ГТ;Tag4&ЛТ;/вариант&ГТ;
&ЛТ;значение параметра="Tag5"&ГТ;Tag5&ЛТ;/вариант&ГТ;
&ЛТ;значение параметра="Tag6"&ГТ;Tag6&ЛТ;/вариант&ГТ;
</select>



В jQuery

Скрыть Код Скопировать
<скрипт >
$(документ).готово(функция() {
$('#tagSelector').select2();
});
</script>

<скрипт>
$("#tagSeletor").на('Изменить', функция () { предупреждение ("привет"); });

// Я также попробовал код ниже, как в документации, даже on("select2:select", для V4

//$('#tagSelector').on("select2-select", функция (e) {
// Alert('привет');
//});
</script>

1 Ответов

Рейтинг:
2

littleGreenDude

Первое, что бросается мне в глаза, - это то, что вы неправильно схватываете элемент. Если вы собираетесь использовать $('#tagSelector'), то вам нужно добавить ID="tagSelector" к вашему элементу.

<select id="tagSelector" name="tagSelector" multiple="multiple">


Для получения дополнительной информации о селекторах jQuery, пожалуйста, смотрите: селекторы jQuery[^]

Во-вторых, поскольку вы разрешаете выбирать несколько элементов, вы можете использовать такой подход forEach:

$( document ).ready(function() {
    $('#tagSelector').change(function(){
        var selectedoptions = $(this).find('option:selected');
        if(selectedoptions != undefined) {
            selectedoptions.forEach(
                alert('Value: ' + $(this).val() )
            );
        }
    });
});


Надеюсь, это поможет :)