Claro: haga options
una serie de cadenas y utilícelas en .join('')
lugar de hacerlo +=
cada vez por el ciclo. Ligero aumento de rendimiento cuando se trata con un gran número de opciones ...
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(''));
});
Si. Todavía estoy trabajando con cuerdas todo el tiempo. Lo creas o no, esa es la forma más rápida de construir un fragmento DOM ... Ahora, si solo tienes unas pocas opciones, realmente no importará: usa la técnica que Dreas demuestra si te gusta el estilo. Pero tenga en cuenta que está invocando los i*2
tiempos del analizador HTML interno del navegador , en lugar de solo una vez, y modificando el DOM cada vez a través del ciclo ... con una cantidad suficiente de opciones. terminarás pagándolo, especialmente en navegadores antiguos.
Nota: Como el juez señala, esto se vendrá abajo si ImageFolderID
y Name
no están codificados adecuadamente ...
<option/>
elemento en lugar de crear cada uno?