简体   繁体   中英

get selected id value of multiselect dropdown binds from database in jquery

i have a multi select dropdown list binds from database i want to get the id of the selected value

i tryed to use jquery function to get array of selected values but it never works

My html code

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

jquery Code

          $(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");
    });

use pseudo Selector :selected to get the selected option.

 $('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> 

Your code is ok and should work as shown in the following snippet. Make sure that the variable selected is a string containing the ids separated by a comma.

 $(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> 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM