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.