Это сбивает с толку. Когда вы говорите «объект формы», вы имеете в виду «<select>
элемент»? Если нет, ваш код не будет работать, поэтому я предполагаю, что ваша переменная form
на самом деле является ссылкой на элемент <select>
. Почему вы хотите переписать этот код? То, что вы работали во всех скриптовых браузерах примерно с 1996 года, и не перестанет работать в ближайшее время. Выполнение этого с помощью jQuery немедленно сделает ваш код медленнее, более подверженным ошибкам и менее совместимым во всех браузерах.
Вот функция, которая использует ваш текущий код в качестве отправной точки и заполняет элемент <select>
из объекта:
<select id="mySelect"></select>
<script type="text/javascript>
function populateSelect(select, optionsData) {
var options = select.options, o, selected;
options.length = 0;
for (var i = 0, len = optionsData.length; i < len; ++i) {
o = optionsData[i];
selected = !!o.selected;
options[i] = new Option(o.text, o.value, selected, selected);
}
}
var optionsData = [
{
text: "Select a city / town in Sweden",
value: ""
},
{
text: "Melbourne",
value: "Melbourne",
selected: true
}
];
populateSelect(document.getElementById("mySelect"), optionsData);
</script>