2011-12-28 9 views

risposta

40

Non hai nemmeno necessariamente bisogno jQuery:

var select = document.getElementById("D1"), 
    opt = document.createElement("option"); 
opt.value = "value"; 
opt.textContent = "text to be displayed"; 
select.appendChild(opt); 

Example.

ma qui è in ogni caso con jQuery:

$("select#D1").append($("<option>") 
    .val("value") 
    .html("text to be displayed") 
); 

Example.

+0

Grazie! Funziona alla grande. :) –

+1

Penso che ci sia un errore di battitura in questa riga '.html (" testo da visualizzare ");' rimuovi il punto e virgola alla fine. Dovrebbe essere '.html (" testo da visualizzare ")'. – Sivakumar

+0

@Sivakumar Wow, quasi 4 anni e passò inosservato ... risolto. Grazie per averlo portato! Hahaha – Purag

2

Ci sono diversi modi. Uno è:

$("#D1").append("<option>Fred</option>"); 
11

Ancora un altro modo di farlo, usando select s' add method:

var select = $("#select")[0]; 

select.add(new Option("one", 1)); 
select.add(new Option("two", 2)); 
select.add(new Option("three", 3)); 

Esempio:http://jsfiddle.net/pc9Dz/

modo o nell'altro, assegnando direttamente i valori al selectoptions collezione:

var select = $("#select")[0]; 

select.options[0] = new Option("one", 1); 
select.options[1] = new Option("two", 2); 
2

Ecco un altro modo per rimuovere le opzioni che utilizzano javascript (simile alla risposta di Andrew Whitaker) utilizzando la matrice opzioni:

var select = document.getElementById("D1"); 
select.options.length = 0;//remove all options 
Problemi correlati