C'est quelque chose que je réutilise dans mon code. J'espère que ce sera utile. Vous pouvez activer la sortie de la console pour voir ce qui se passe. Cette fonction vous permet de faire correspondre l'option souhaitée en fonction de la valeur de l'option ou du texte de l'option, comme indiqué dans l'exemple ci-dessous.
Le Html:
<select id="languages">
<option value="01">JAVA</option>
<option value="02">HTML</option>
</select>
<select class="data-interchange">
<option value="A">JSON</option>
<option value="B">XML</option>
</select>
Le JavaScript (avec Jquery)
$(function() {
preSelectDropDownList("#languages", "val", "02");
preSelectDropDownList(".data-interchange", "text", "XML");
function preSelectDropDownList(selector, checkAgaints, neddle) {
//console.log(selector, checkAgaints, neddle);//DEBUG
let hayStack = "";
neddle = neddle == null ? "" : neddle;
$(selector + " option").filter(function() {
if (checkAgaints === "text") {
hayStack = $(this).text();
} else if (checkAgaints === "val") {
hayStack = $(this).val();
} else {
alert("Error on Param 2.Only text or value allowed -->" + checkAgaints);
}
var result = hayStack.includes(neddle);
//console.log(neddle+" vs "+hayStack+" = "+result);//DEBUG
//console.log("Selected return", result);//DEBUG
return result;
}).prop('selected', true);
}
});
Vous devez supprimer l'opérateur descendant (espace) du sélecteur pour qu'il fonctionne. : o) – user113716
@patrick Merci. Je l'ai corrigé – Adam
+1 Je préfère cette approche plus que d'utiliser 'val()' pour les définir. Je ne suis même pas sûr de savoir comment 'val()' est supposé fonctionner si vous présentez une liste de sélection multiple ... – Funka