Звичайно - створюйте options
масив рядків і використовуйте, .join('')
а не +=
кожен раз через цикл. Незначна ефективність при роботі з великою кількістю варіантів ...
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(''));
});
Так. Я весь час працюю зі струнами. Вірите чи ні, це найшвидший спосіб побудувати фрагмент DOM ... Тепер, якщо у вас є лише кілька варіантів, це насправді не має значення - використовуйте техніку, яку демонструє Dreas, якщо вам подобається стиль. Але майте на увазі, ви викликаєте внутрішній HTML-аналізатор браузераi*2
, а не один раз, і щоразу DOM через цикл ... з достатньою кількістю опцій. ви заплатите за це, особливо в старих браузерах.
Примітка: Як вказує Справедливість, це розвалиться, якщо ImageFolderID
і Name
не буде закодовано належним чином ...
<option/>
елемент замість того, щоб створювати кожен з них?