Claro - crie options
uma série de strings e use, em .join('')
vez de +=
todas as vezes, o loop. Leve aumento no desempenho ao lidar com um grande número de opções ...
var options = [];
$.getJSON("/Admin/GetFolderList/", function(result) {
for (var i = 0; i < result.length; i++) {
options.push('<option value="',
result[i].ImageFolderID, '">',
result[i].Name, '</option>');
}
$("#theSelect").html(options.join(''));
});
Sim. Eu ainda estou trabalhando com cordas o tempo todo. Acredite ou não, essa é a maneira mais rápida de criar um fragmento DOM ... Agora, se você tiver apenas algumas opções, isso realmente não importa - use a técnica que Dreas demonstra se você gosta do estilo. Mas lembre-se de que você está invocando os i*2
tempos internos do analisador de HTML do navegador , em vez de apenas uma vez, e modificando o DOM toda vez através do loop ... com um número suficiente de opções. você acabará pagando por isso, principalmente em navegadores mais antigos.
Nota: Como o juiz aponta, isso vai desmoronar se ImageFolderID
e Name
não são codificados corretamente ...
<option/>
elemento em vez de criar cada um?