Select2 выбирая все опции из отфильтрованного списка для множественного выбора - PullRequest
0 голосов
/ 26 марта 2020

Использование плагина select2 для jQuery в выпадающем списке позволяет быстро набирать и находить частичные совпадения. Однако, если бы я хотел получить все частичные совпадения, мне пришлось бы щелкнуть по одному, снова ввести фильтр, щелкнуть по следующему и т. Д. c. Это быстро становится утомительным. Вместо этого я хотел бы ввести первые несколько символов, а затем выбрать все опции FILTERED.

Например, если бы у меня был список всех штатов в США, и я набрал бы «Новый», я бы см. «Нью-Гэмпшир, Нью-Джерси, Нью-Мексико, Нью-Йорк». Я хотел бы выбрать все 4, не нажимая каждый из них.

Вот пример jsfiddle: https://jsfiddle.net/myingling/xv7bzqek/4/

<select name='state' id='state' multiple='multiple'>
                    <option value='null'> - Please Select - </option>
                    <option value='AL'>Alabama</option>
                    <option value='AK'>Alaska</option>
                    <option value='AZ'>Arizona</option>
                    <option value='AR'>Arkansas</option>
                    <option value='CA'>California</option>
                    <option value='CO'>Colorado</option>
                    <option value='CT'>Connecticut</option>
                    <option value='DE'>Delaware</option>
                    <option value='DC'>District Of Columbia</option>
                    <option value='FL'>Florida</option>
                    <option value='GA'>Georgia</option>
                    <option value='HI'>Hawaii</option>
                    <option value='ID'>Idaho</option>
                    <option value='IL'>Illinois</option>
                    <option value='IN'>Indiana</option>
                    <option value='IA'>Iowa</option>
                    <option value='KS'>Kansas</option>
                    <option value='KY'>Kentucky</option>
                    <option value='LA'>Louisiana</option>
                    <option value='ME'>Maine</option>
                    <option value='MD'>Maryland</option>
                    <option value='MA'>Massachusetts</option>
                    <option value='MI'>Michigan</option>
                    <option value='MN'>Minnesota</option>
                    <option value='MS'>Mississippi</option>
                    <option value='MO'>Missouri</option>
                    <option value='MT'>Montana</option>
                    <option value='NE'>Nebraska</option>
                    <option value='NV'>Nevada</option>
                    <option value='NH'>New Hampshire</option>
                    <option value='NJ'>New Jersey</option>
                    <option value='NM'>New Mexico</option>
                    <option value='NY'>New York</option>
                    <option value='NC'>North Carolina</option>
                    <option value='ND'>North Dakota</option>
                    <option value='OH'>Ohio</option>
                    <option value='OK'>Oklahoma</option>
                    <option value='OR'>Oregon</option>
                    <option value='PA'>Pennsylvania</option>
                    <option value='PR'>Puerto Rico</option>
                    <option value='RI'>Rhode Island</option>
                    <option value='SC'>South Carolina</option>
                    <option value='SD'>South Dakota</option>
                    <option value='TN'>Tennessee</option>
                    <option value='TX'>Texas</option>
                    <option value='UT'>Utah</option>
                    <option value='VT'>Vermont</option>
                    <option value='VA'>Virginia</option>
                    <option value='WA'>Washington</option>
                    <option value='WV'>West Virginia</option>
                    <option value='WI'>Wisconsin</option>
                    <option value='WY'>Wyoming</option>
</select>
<input type='button' id='all_visible' value='Select Visible' />
<script>
    jQuery('#state').select2();

    jQuery('#all_visible').click(function() {
         var visible = null; // TODO: how do we grab the filtered list?
         jQuery('#state').val(visible).trigger('change');
    });
</script>

Есть ли способ сделать это? Документация по select2 показывает, как программно выбрать опцию SINGLE, но не массово из своего отфильтрованного списка. Существует множество других ответов для выбора ВСЕХ опций, но они включают те, которые скрыты фильтром (например, Калифорния).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...