получить выбранное значение идентификатора множественных выпадающих привязок из базы данных в jquery - PullRequest
1 голос
/ 25 июня 2019

У меня есть несколько выборочных выпадающих списков привязок из базы данных. Я хочу получить идентификатор выбранного значения

Я пытался использовать функцию jquery для получения массива выбранных значений, но он никогда не работал

Мой HTML-код

        @Html.DropDownListFor(x => x.RolesMenusMain, GlobalLists.GetMenus(),
         new { @class = "form-control select2 multiple", multiple = "multiple", selectedvalue = selected })

Код JQuery

          $(document).ready(function () {
        $('.select2').select2({
            width: '100%'
        });
        debugger;
        var IDs = [];

        for (var i = 0; i < $("#RolesMenusMain").attr("selectedvalue").split(",").length; i++) {
            if ($("#RolesMenusMain").attr("selectedvalue").split(",")[i] != "")
                IDs.push($("#RolesMenusMain").attr("selectedvalue").split(",")[i]);
            alert(IDs);
        }

        $("#RolesMenusMain").val(IDs).trigger("change");
    });

Ответы [ 2 ]

0 голосов
/ 25 июня 2019

Ваш код в порядке и должен работать, как показано в следующем фрагменте.Убедитесь, что переменная selected является строкой, содержащей идентификаторы, разделенные запятой.

$(document).ready(function () {
        $('.select2').select2({
            width: '100%'
        });
        debugger;
        var IDs = [];

        for (var i = 0; i < $("#RolesMenusMain").attr("selectedvalue").split(",").length; i++) {
            if ($("#RolesMenusMain").attr("selectedvalue").split(",")[i] != "")
                IDs.push($("#RolesMenusMain").attr("selectedvalue").split(",")[i]);
            alert(IDs);
        }

        $("#RolesMenusMain").val(IDs).trigger("change");
    });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.7/css/select2.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.7/js/select2.min.js"></script>


<select id="RolesMenusMain" multiple="multiple" class="select2" selectedvalue="1,2,3">
  <option value="">---</option>
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
</select>
0 голосов
/ 25 июня 2019

используйте псевдоселектор :selected, чтобы получить выбранную опцию.

$('select').on('change', function() {
  const selectedOption = $('select option:selected')[0];
  console.log(selectedOption);
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select name="garden">
  <option>Flowers</option>
  <option>Shrubs</option>
  <option>Trees</option>
  <option>Bushes</option>
  <option>Grass</option>
  <option>Dirt</option>
</select>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...