Установите свойство innerHTML
объектов параметров вместо их text
.
var selector = document.getElementById('selectorId');
for (var i = 0; i < data.length; ++i)
{
var opt = document.createElement('option');
opt.value = data[i].id;
opt.innerHTML = data[i].name;
selector.appendChild(opt);
}
Работает на IE6, только что протестировано. Не ломается на FF3, поэтому я думаю, что это оно.
(Я выбрал «innerHTML», потому что это работает во всех браузерах. Чтобы установить буквальный текст, вы должны использовать «innerText» в IE и «textContent» в FF, и вам, вероятно, придется проверить его в другом месте, как хорошо. До тех пор, пока в свойствах «name» нет специальных символов (&, <,>), будет достаточно «innerHTML».)