select2 js получить данные свойств тега из другого select2 - PullRequest
2 голосов
/ 23 января 2020

Мне нужно получить e.params данные свойств из другого select2 инициализированного элемента.

Я пытаюсь получить isNew свойство из другого dropdown и действовать соответственно.

$(".tags").each(function() {
    var $tag = $(this);
    var placeholder = "Select Email";
    var elem_name = $tag.attr('name');
    if(elem_name === 'names[]')
        placeholder = "Select Name";
    $tag.select2({
        tags: true,
        placeholder: placeholder,
        selectOnClose: true,
        language: {
            noResults: function () {
                return 'Type and enter to add new';
            },
        },
        escapeMarkup: function (markup) {
            return markup;
        },
        createTag: function(params) {
            if (elem_name === 'emails[]' && params.term.indexOf('@') === -1)
                return null;
            if (elem_name == 'names[]' && !validateString(params.term))
                return null;
            return {
                id: params.term,
                text: params.term,
                isNew : true
            }
        }
    }).on("select2:select", function (e) {
        var selected_val = $tag.val()            
        var next_select = $tag.closest('td').siblings().find('.tags').eq(0); // select another select on same row.
        var next_sel_is_new = next_select.params.data.isNew; // get tag properties from another select

        // change other drop-down's value if not new tag
        if(!next_sel_is_new)
            next_select.val(selected_val).trigger('change');
    });
});

Есть ли способ получить свойства тега от другого select2?

...