[jquery] jQuery를 사용하여 여러 선택 상자 값을 얻는 방법은 무엇입니까?

jQuery를 사용하여 여러 선택 상자 값을 얻는 방법은 무엇입니까?



답변

jQuery .val ()

  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>


답변

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...


답변

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() );

});

그것이 작동하기를 바랍니다


답변

쉼표 구분 기호로 선택된 값 가져 오기

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);