JQuery append
Foi útil?

Solução

Gostaria de tentar usar .text () em vez disso:

  $.each(data, 
       function(key,value){ 
           $("option").attr("value", key)
                .text(value)
                .appendTo("#select1"); 
        });

Eu acho que isso é o que você está indo para?

Outras dicas

Vamos tentar isso de novo com citações do bloco:

A solução deve ser:

$.each(data, 
       function(key,value){ 
           $("<option>").attr("value", key)
                .text(value)
                .appendTo("#select1"); 
        });

"Opções" precisa ser cercado com <>

altCognito está correto ... no entanto, se você estiver loop através inteiros, certifique-se que você use

chave / Value.ToString (.) - enquanto jQuery não vai jogar quaisquer erros e irá lidar com isso, ele vai evitar a sobrecarga adicional

é tudo sobre o desempenho, certo? :)

$.each(data,  
       function(key,value){  
           $("option").attr("value", key.toString()) 
                .text(value.toString()) 
                .appendTo("#select1");  
        }); 

Eu não acho que a solução postada é correta. Eu acredito que deve ser:


$.each(data, function(key,value){ 
           $("").attr("value", key)
                .text(value)
                .appendTo("#select1"); 
        });

não


$.each(data, function(key,value){ 
           $("option").attr("value", key)
                .text(value)
                .appendTo("#select1"); 
        });

O <> 's tem caído de alguma forma.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top