846 votes

Ajout d'options à sélectionner à l'aide de Jquery/javascript

Quelle est la meilleure façon d'ajouter une option d'un menu déroulant à l'aide de javascript? Cela peut-il fonctionner?

$("#mySelect").append('<option value=1>My option</option>');

949voto

dule Points 1830

Personnellement, je préfère cette syntaxe pour l'ajout d'options:

$('#mySelect').append($('<option>', {
    value: 1,
    text: 'My option'
}));

Si vous êtes en train d'ajouter des options à partir d'une collection d'éléments, vous pouvez effectuer les opérations suivantes:

$.each(items, function (i, item) {
    $('#mySelect').append($('<option>', { 
        value: item.value,
        text : item.text 
    }));
});

368voto

Josh Points 831

Je suis d'accord Ashish, cela ne fonctionne PAS avec IE8 (mais n'en FF):

$("#selectList").append(new Option("option text", "value"));

Ce N'travail:

var o = new Option("option text", "value");
/// jquerify the DOM object 'o' so we can use the html method
$(o).html("option text");
$("#selectList").append(o);

214voto

tvanfosson Points 268301

Je crois que c'est le moyen le plus facile. Vous pourriez être intéressé par cette feuille de triche (PDF) sur l'utilisation de jQuery avec sélectionne pour plus d'info.

131voto

Dipu Points 111

Vous pouvez ajouter l'option en utilisant la syntaxe suivante, vous pouvez Aussi visiter de façon poignée en option en jQuery pour plus de détails.

  1. $('select').append($('<option>', {value:1, text:'One'}));

  2. $('select').append('<option val="1">One</option>');

  3. var option = new Option(value, text); $('select').append($(option));

44voto

bobince Points 270740

Si le nom de l'option ou la valeur est dynamique, vous ne voulez pas avoir à vous soucier de l'échappement des caractères spéciaux; en cela, vous pourriez préférer simple les méthodes du DOM:

var s= document.getElementById('mySelect');
s.options[s.options.length]= new Option('My option', '1');

Prograide.com

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.

Powered by:

X