tagit Como obter vários valores de caixa de seleção usando jquery?




tagit github (6)

Obter valores selecionados no separador de vírgula

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

Como obter vários valores de caixa de seleção usando jquery?


Código 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>   

Código JQuery:

$('#multiple :selected').each(function(i, sel){ 
    alert( $(sel).val() ); 

});

Espero que funcione


var selected=[];
 $('#multipleSelect :selected').each(function(){
     selected[$(this).val()]=$(this).text();
    });
console.log(selected);

Ainda outro approch a este problema. A matriz selecionada terá os índices como os valores da opção e cada item da matriz terá o texto como seu valor.

por exemplo

<select id="multipleSelect" multiple="multiple">
    <option value="abc">Text 1</option>
    <option value="def">Text 2</option>
    <option value="ghi">Text 3</option>
</select>

se dizer que as opções 1 e 2 estão selecionadas.

a matriz selecionada será:

selected['abc']=1; 
selected['def']=2.


Apenas use isso

$('#multipleSelect').change(function() {
    var selectedValues = $(this).val();  
});

Você também pode usar a função js map:

$("#multipleSelect :selected").map(function(i, el) {
    return $(el).val();
}).get();

E então você pode obter qualquer propriedade do elemento de option :

return $(el).text();
return $(el).data("mydata");
return $(el).prop("disabled");
etc...




multi-select