Dans le code ci-dessous, comment obtenir les valeurs de la boîte multiselect dans la fonction val()
utilisant jQuery ou pure JavaScript?
function val() { //Get values of mutliselect drop down box } $(document).ready(function () { var flag = 0; $('#emp').change(function () { var sub = $("OPTION:selected", this).val() if (flag == 1) $('#new_row').remove(); $('#topics').val(''); var html = 'Topics: '; var idarr = new Array(); var valarr = new Array(); { % for top in dict.tops % } idarr.push('{{top.is}}'); valarr.push('{{pic.ele}}'); { % endfor % } for (var i = 0; i < idarr.length; i++) { if (sub == idarr[i]) { html += '' + valarr[i] + ''; } } html += ' '; $('#tops').append(html); flag = 1; }); }); Emp: 1
Merci d’avance!
la fonction val
appelée depuis la select
retournera un tableau s’il s’agit d’un multiple. $('select#my_multiselect').val()
retournera un tableau des valeurs pour les options sélectionnées – vous n’avez pas besoin de passer en boucle et de les récupérer vous-même.
Je pense que la réponse peut être plus facile à comprendre comme ceci:
$('#empid').on('change',function() { alert($(this).val()); console.log($(this).val()); });
Hold CTRL / CMD for selecting multiple fields
Ce doc est comme un Saint Graal pour select et jquery. http://comp345.awardspace.com/select_element_cheatsheet.pdf
var data=[]; var $el=$("#my-select"); $el.find('option:selected').each(function(){ data.push({value:$(this).val(),text:$(this).text()}); }); console.log(data)
Selon la page du widget , il devrait être:
var myDropDownListValues = $("#myDropDownList").multiselect("getChecked").map(function() { return this.value; }).get();
Ça marche pour moi 🙂
Cela m’a donné la valeur et le texte des options sélectionnées pour le plugin jQuery multiselect.js :
$("#selectBox").multiSelect({ afterSelect: function(){ var selections = []; $("#selectBox option:selected").each(function(){ var optionValue = $(this).val(); var optionText = $(this).text(); console.log("optionText",optionText); // collect all values selections.push(optionValue); }); // use array "selections" here.. } });
très utile si vous en avez besoin pour votre événement “onChange”;)
Vous pourriez faire comme ça aussi.
Ensuite, prenez la sélection multiple à partir du code PHP suivant. Il imprime les multiples valeurs sélectionnées en conséquence.
$shift=$_POST['selectDuration']; print_r($shift);