Click-Event на плагине wenzhixin multipleSelect-JQuery не работает - PullRequest
0 голосов
/ 04 марта 2019

Ситуация "как есть":

Я использую плагин wenzhixin JQuery Multiple-Select-Plugin для предоставления выпадающего списка с несколькими выборками (см. http://multiple -select.wenzhixin.net.cn / home / ).У меня есть два экземпляра этого Multiselect-Dropdownbox на моей странице (я сделал его похожим в JSFiddle - но там, похоже, он работает ...).

Проблема:

Я не могу включить onClick-Listener в моем .done () - методе двух AJAX-вызовов для работы.В моем примере ниже функция click () - Event

$('#cbTailoringCategory').multipleSelect( { onClick: function() {...} })

не работает, но она превращает поле выбора в выпадающий список с несколькими выборками.Но это работает, когда я пишу изменения () - Слушатель, как это (но это срабатывает дважды):

$('#cbRoles').change(function (event) {
    refreshDiagramNodes();
}).multipleSelect({

});

Вопрос

Как я могу получить щелчок () -Поправить, что мне не нужно использовать change () - Метод?

JsFiddle

Я пытался выделить проблему в JsFiddle, но здесь этоработает: - /

https://jsfiddle.net/schludi/6z0ns475/

Подробно в моем коде с AJAX-вызовами, когда ... готово ... jquery:

Оригинальные AJAX-вызовы моего кода следующие:

var myTailoringCategories = {};
var myKeypointResponsibles = {};
function loadTailoringCategories() {

$.when(
    $.ajax({
        type: "POST",
        url: '/Services/DiagramService.asmx/GetTailoringCategories',
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (msg) {
            var pcpTailoringCategories = msg.d;

            $.each(pcpTailoringCategories, function (index, pcpTailoringCategory) {

                myTailoringCategories[pcpTailoringCategory.tailoringcategory] = pcpTailoringCategory.tailoringelements;

                $('#cbTailoringGroups').append($('<option>', {
                    value: pcpTailoringCategory.tailoringelements,
                    text: pcpTailoringCategory.tailoringcategory
                }));
            });
        },
        error: function (e) {
            console.log('FEHLER! ' + e.responseText);
        }
    }),
    $.ajax({
        type: "POST",
        url: '/Services/DiagramService.asmx/GetKeypointResponsibles',
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (msg) {
            var keypointResponsibles = msg.d;

            $.each(keypointResponsibles, function (index, keypointResponsible) {

                myKeypointResponsibles[keypointResponsible] = keypointResponsible;

                $('#cbRoles').append($('<option>', {
                    value: keypointResponsible,
                    text: keypointResponsible
                }));
            });
        },
        error: function (e) {
            console.log('FEHLER! ' + e.responseText);
        }
    })
).done(function (result1, result2) {
    updateCBFilter();

    // Hier wird aus der Multiselect-Box eine Rollen-Liste
    $('#cbRoles').change(function (event) {
        refreshDiagramNodes();
    }).multipleSelect({

    });

    // Hier wird aus der Multiselect-Box eine Tailoring-Liste
    $('#cbTailoringGroups').multipleSelect({
        onClick: function () {
            alert('Click Event');
        }
    });

    $('#cbTailoringGroups').multipleSelect('refresh');

    //initializeTailoringCategories();
    loadAllDiagramNodes(diagramType);
});

}

1 Ответ

0 голосов
/ 07 марта 2019

Я обнаружил, что функция

 refreshDiagramNodes();

вызвала ошибку, так что движок Javascript завершился / завершился раньше - в порядке этого сценария onClick () - событие не сработало.

...