Chosen (selected-js): как отменить выбранное с помощью множественного селектора - PullRequest
0 голосов
/ 06 ноября 2018

Я использую библиотеку Chosen (selected-js) в Vue и Webpack. Я хочу отменить выбранное на выбор с множественным селектором. Но я не могу этого. Как отменить выбранное?

<script>
import $ from 'jquery';
window.$ = window.jQuery = $;
import chosen from 'chosen-js';
import 'chosen-js/chosen.css';

export default {
    mounted: function() {
        $('.select').chosen({
            width: '100%',
        }).change(function(ev, result) {
            if (result.selected === 'aaa') {
                // TODO: cancel selected
                console.log('selected', result.selected);
            }
        });
    },
};
</script>

<template>
    <select class="select" multiple>
        <option>aaa</option>
        <option>bbb</option>
        <option>ccc</option>
    </select>
</template>

1 Ответ

0 голосов
/ 07 ноября 2018

Это было реализовано с помощью следующего кода.

$('.select-company').chosen({
    width: width,
}).change(function(ev, result) {
    if (result.selected !== 'target value') {
        return;
    }

    let val = $('.my-selector').val();
    for (let i = 0; i < val.length; ++i) {
        if (val[i] === result.selected) {
            val.splice(i, 1);
            --i;
        }
    }

    $('.my-selector').val(val);
    $('.my-selector').trigger('chosen:updated');
});
...