Как получить несколько выбранных опций с помощью jQuery или js без использования клавиши Ctrl в IE11 - PullRequest
0 голосов
/ 25 февраля 2019

Мне нужна помощь с IE 11 и jQuery в получении выбранных опций.(Он хорошо работает в Edge.) Я перепробовал много ссылок здесь и в других местах, но безуспешно.

ОБНОВЛЕНИЕ Если я удалю функцию .mousedown, то функция onchange будет работать как положено.поэтому вопрос заключается в том, как собрать все выбранные элементы (без использования клавиши Ctrl), прежде чем отправлять их обратно через ajax.

Также не отображаются флажки в IE11, но это другой вопрос.Заранее спасибо.

Разметка:

<style>
    option:before {
    content: "☐ "
}

option:checked:before {
    content: "☑ "
}

<select class="ddlRole" id="ddlRole" style="width:810px" size="6" multiple="">
    <option value="1">Administrator</option>
    <option value="2">Manager</option>
    <option value="3">User</option>
    <option value="8">new role test 5</option>
</select>

jQuery: эта функция mousedown позволяет пользователю выбирать несколько опций из списка

$("#ddlRole").mousedown(function (e)
    {
        e.preventDefault();

        var select = this;
        var scroll = select.scrollTop;

        e.target.selected = !e.target.selected;

        setTimeout(function () { select.scrollTop = scroll; }, 0);

        $(select).focus();

        $("#ddlRole").trigger("change");

    }).mousemove(function (e) { e.preventDefault() });


    $('#ddlRole').on('change', function ()
    {
        // Works in Edge but not IE11
        var selectedValue = $("#ddlRole").find('option:selected').val();

        alert("try  .." + selectedValue);
    });

1 Ответ

0 голосов
/ 26 февраля 2019

Когда мы используем инструменты разработчика F12 для проверки стиля HTML и CSS, мы видим, что контент недоступен.

enter image description here

Кажется, чтоесли стиль содержимого CSS не работает в элементе select в браузере IE.

В качестве обходного пути я предлагаю изменить элементы выбора на список CheckBox.Затем присоедините функцию mousedown контейнера списка флажков и событие смены флажка.

Кроме того, вы также можете попробовать использовать несколько выбранных плагинов BootStrap для добавления флажка в опции выбора.Как образец в этой теме

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