Comme le dit la question, comment puis-je ajouter une nouvelle option à un contrôle DropDownList à l’aide de jQuery ?
Merci
Comme le dit la question, comment puis-je ajouter une nouvelle option à un contrôle DropDownList à l’aide de jQuery ?
Merci
Sans utiliser des plugins supplémentaires,
var myOptions = {
val1 : 'text1',
val2 : 'text2'
};
var mySelect = $('#mySelect');
$.each(myOptions, function(val, text) {
mySelect.append(
$('<option></option>').val(val).html(text)
);
});
Si vous aviez beaucoup d'options, ou ce code doit être exécuté très souvent, alors vous devriez regarder dans l'utilisation d'un DocumentFragment au lieu de modifier le DOM plusieurs fois inutilement. Pour seulement une poignée d'options, je dirais que c'est pas la peine.
------------------------------- Ajouté --------------------------------
DocumentFragment
est une bonne option pour l'amélioration de la vitesse, mais nous ne pouvons pas créer des options de l'élément à l'aide de document.createElement('option')
depuis IE6 et IE7 ne sont pas de la soutenir.
Ce que nous pouvons faire, c'est créer une nouvelle sélectionner l'élément, puis ajouter toutes les options. Une fois la boucle terminée, ajouter à DOM objet.
var myOptions = {
val1 : 'text1',
val2 : 'text2'
};
var _select = $('<select>');
$.each(myOptions, function(val, text) {
_select.append(
$('<option></option>').val(val).html(text)
);
});
$('#mySelect').append(_select.html());
De cette façon, nous allons modifier le DOM pour une seule fois!
Avec le plugin : jQuery boîte de sélection. Vous pouvez faire ceci :
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.