2015-11-11 2 views
1

У меня есть несколько поля выбора, каквыбор магазина от MULTISELECT элемента внутри строки

<select id="myMultiSelect" class="multiselect form-control" name="Status" multiple="multiple"> 
    <option value="AA">AA option</option> 
    <option value="BB">BB option</option> 
    ... 
    <option value="FF">FF option</option> 


</select> 

Как usig JQuery магазин выбранных значения внутри строки, разделенной запятой, как

var string = "AA,BB,CC"; 

ответ

4

Вы можете использовать .map() method для получить массив значений, а затем присоединиться к ним:

Example Here

var selectValueString = $('#myMultiSelect > option').map(function() { 
    return this.value; 
}).get().join(','); 

console.log(selectValueString); // "AA,BB,FF" 

В качестве альтернативы, без JQuery:

Example Here

var options = document.querySelectorAll('#myMultiSelect > option'); 
var selectValueString = Array.prototype.map.call(options, function(el){ 
    return el.value; 
}).join(','); 

console.log(selectValueString); // "AA,BB,FF" 
+1

Спасибо за предоставление способа ванили. –

1

Просто присвоить его переменной. В .val() возвращает массив значений:

var myval = $('select#myMultiSelect').val(); 

Вот пример скрипка, чтобы показать это работает: http://jsfiddle.net/MarkSchultheiss/6jyrfcfo/

Смежные вопросы