답변:
var foo = $('#multiple').val();
.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>
null
은 빈 배열이 아니라 반환 됩니다. 즉, 프로그래밍 방식 으로 선택한 값을 추가 하는 경우 올바른 값을 얻기 위해 약간의 조정이 필요합니다.
var selectedValues = $('#multipleSelect').val() || [];
문자열 배열을 반환한다는 점도 주목할 가치가 있습니다. 정수와 비교하고 일치하는 항목이 없으므로을 추가했습니다 .toString()
.
js map 함수를 사용할 수도 있습니다 :
$("#multipleSelect :selected").map(function(i, el) {
return $(el).val();
}).get();
그런 다음 option
요소의 속성을 얻을 수 있습니다 .
return $(el).text();
return $(el).data("mydata");
return $(el).prop("disabled");
etc...
el
모든 단일 옵션에 대해 jQuery 객체로 래핑하는 데 추가 비용을 지불 할 필요가 없습니다 . 너무 이상하지 않은 경우 DOM을 바로 사용하십시오. 로 변경할 $(el).val()
수 있습니다 el.value
. 물론 jQuery에 익숙하거나 다른 예제와 같이 데이터 또는 속성을 가져 오려는 경우 jQuery는 다른 사람을 해치지 않습니다.
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.
한 줄만
var select_button_text = $('#SelectQButton option:selected')
.toArray().map(item => item.text);
출력 : [ "text1", "text2"]
var select_button_text = $('#SelectQButton option:selected')
.toArray().map(item => item.value);
출력 : [ "value1", "value2"]
.join ()을 사용하는 경우
var select_button_text = $('#SelectQButton option:selected')
.toArray().map(item => item.text).join();
출력 : text1, text2, text3
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() );
});
그것이 작동하기를 바랍니다
$('#multiple').find(':selected')
@Prabhagaran
쉼표 구분 기호로 선택된 값 가져 오기
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);
Text 1
이 가치 대신에 얻고 싶다면 ? 교체.val()
로.text()
?