Выбрано не работает с элементами из вызова AJAX

У меня есть форма, которая заполняет элементы div на основе выбора из поля выбора с использованием вызова AJAX.

Содержимое заполненного div представляет собой поле с множественным выбором, к которому я хочу применить Chosen. К сожалению, похоже, что «chzn-select» не срабатывает, без сомнения, из-за того, что это происходит динамически.

Я добавил это:

    <script type="text/javascript">
    $(".chzn-select").chosen();
    </script>

Внизу кода, который подтягивается AJAX, но все равно не срабатывает. Любые идеи о том, как заставить это работать по желанию?


person Community    schedule 06.12.2012    source источник


Ответы (2)


Решил сам. Опубликую для дальнейшего использования. Я помещаю вызовы Chosen в их собственную функцию на моей исходной странице, которая вызывает AJAX:

    <script type="text/javascript">
    function doChosen() {
        $(".chzn-select").chosen();
        $(".chzn-select-deselect").chosen({allow_single_deselect:true});
    }
    </script>

А в самом AJAX-скрипте я добавил вызов функции после части responseText:

    document.getElementById(div).innerHTML=oXmlHttp.responseText
    doChosen();
person Community    schedule 06.12.2012

вместо использования selected() попробуйте метод change(). Он работает на событии изменения. пытаться:

$(".chzn-select").change(function () {
          var str = "";
          $("select option:selected").each(function () {
                // do your coding here
              });

        })
        .trigger('change');
person Md. Mahbubul Haque    schedule 06.12.2012
comment
Я просто ищу способ запуска .chosen() после выполнения вызова ajax, а не при изменении содержимого поля выбора. - person ; 06.12.2012
comment
Попробуйте $(#selbox-id).chosen(); - person SwR; 06.04.2016