7 ответов:
С помощью
.val()функция в списке множественного выбора вернет массив выбранных значений:var selectedValues = $('#multipleSelect').val();и в вашем html:
<select id="multipleSelect" multiple="multiple"> <option value="1">Text 1</option> <option value="2">Text 2</option> <option value="3">Text 3</option> </select>
вы также можете использовать функцию JS map:
$("#multipleSelect :selected").map(function(i, el) { return $(el).val(); });и тогда вы можете получить любое имущество
optionэлемент:return $(el).text(); return $(el).data("mydata"); return $(el).prop("disabled"); etc...
var selected=[]; $('#multipleSelect :selected').each(function(){ selected[$(this).val()]=$(this).text(); }); console.log(selected);еще один подход к этой проблеме. Выбранный массив будет иметь индексы в качестве значений параметров, а каждый элемент массива будет иметь текст в качестве его значения.
<select id="multipleSelect" multiple="multiple"> <option value="abc">Text 1</option> <option value="def">Text 2</option> <option value="ghi">Text 3</option> </select>если выбраны опции 1 и 2.
выбранный массив будет:
selected['abc']=1; selected['def']=2.
Html Код:
<select id="multiple" multiple="multiple" name="multiple"> <option value=""> -- Select -- </option> <option value="1">Opt1</option> <option value="2">Opt2</option> <option value="3">Opt3</option> <option value="4">Opt4</option> <option value="5">Opt5</option> </select>JQuery Код:
$('#multiple :selected').each(function(i, sel){ alert( $(sel).val() ); });надеюсь, что он работает
получить выбранные значения в разделитель
var Accessids = ""; $(".multi_select .btn-group>ul>li input:checked").each(function(i,obj) { Accessids=Accessids+$(obj).val()+","; }); Accessids = Accessids.substring(0,Accessids.length - 1); console.log(Accessids);
просто использовать
$('#multipleSelect').change(function() { var selectedValues = $(this).val(); });
Comments