Ответ 1
Try
$("#select-values").click(function () {
var option_all = $("select option:selected").map(function () {
return $(this).text();
}).get().join(',');
console.log(option_all);
});
<select id="testID" multiple="multiple">
<option value="1">test Value1</option>
<option value="2">test Value2</option>
<option value="3">test Value3</option>
<option value="4">test Value4</option>
<option value="5">test Value5</option>
<option value="6">test Value6</option>
</select>
<input type="button" value="Get dropdown selected Value" id ="select-values">
Я хочу получить выделенный текст с разделителями-запятыми.
Я пробовал,
$("#select-values").click(function () {
$("select option:selected").text();
});
говорит, что я выбрал первые два варианта выбора
но я получаю значение test Value1test Value2
Я хочу, чтобы он был test Value1,test Value2
Try
$("#select-values").click(function () {
var option_all = $("select option:selected").map(function () {
return $(this).text();
}).get().join(',');
console.log(option_all);
});
Это похоже на самый быстрый способ:
$('#testID').val().toString()
Мне слишком ленив написать цикл for для этого
Try:
$("#select-values").click(function () {
var select = "";
$("select option:selected").each(function(){
select += ","+$(this).text();
});
if(select != ""){
select = select.substr(1);
}
$("#selection").text(select);
});
Попробуйте что-то вроде этого
$(document).ready(function () {
$("#select-values").click(function () {
var val = [];
$("select option:selected").each(function () {
val.push(this.text);
});
alert(val.join(','));
});
});
Знаете ли вы, когда хотите получить значение в поле множественного выбора, оно делает это автоматически? ^^
Просто измените значение ваших выборов:
<select id="testID" multiple="multiple">
<option value="test Value1">test Value1</option>
<option value="test Value2">test Value2</option>
<option value="test Value3">test Value3</option>
<option value="test Value4">test Value4</option>
<option value="test Value5">test Value5</option>
<option value="test Value6">test Value6</option>
</select>
Затем вы можете вызвать значение с помощью:
$('#testID').val();
Он автоматически разделяет значения запятой.
Try:
var selectedItems = ($.map($ ( "select [id * = select-values] option: selected" ), function (item, i) { return $(item).text()})). join ( "," );