У меня есть веб-страница, на которой у меня есть div, который я хотел бы заполнить.
На данный момент содержимое этого div генерируется с помощью Javascript следующим образом:
function foo(array){
for(i=1;i<=maxIndex;i+=1){
document.write ("<label><input type='checkbox'/>" + array[i] + "\n </label><br />")
}
}
и я заполняю div следующим образом:
<div class="bla">
blablabla
</div>
<div class="myDiv" id="myDiv">
<form name="myForm">
<script type="text/javascript">
foo(myArray);
</script>
</form>
</div>
<div class="blah">
blahblahblah
<form>
<select onchange="updateDiv(myArray)">
<option value="1"> Test1 </option>
<option value="2"> Test2 </option>
<option value="3"> Test3 </option>
</select>
</form>
</div>
Причина, по которой я хотел бы заселить div, заключается в том, что я хотел бы
пользователь может выбрать расположение содержимого div
(т. е. когда пользователь выбирает определенный элемент из выпадающего списка, «myArray»
выполняется повторная сортировка, а затем заполняется myDiv, поэтому содержимое теперь отображается в другом порядке).
function updateDiv(array){
array.sort();
document.getElementById('myDiv').innerHTML = '<form name="myForm"><script type="text/javascript"> foo(myArray); </script></form>';
}
Проблема, с которой я сталкиваюсь, заключается в том, что мне не удается нацелиться на новый
содержимое в myDiv, когда пользователь выбирает комбинированный список.
Я пытался использовать innerhtml, но новый контент, который выводится правильно, отображается на совершенно новой странице, а не в myDiv из-за JavaScript.
РЕДАКТИРОВАТЬ: Кажется, что теперь проблема в том, что innerhtml обновляет код в правильном div (по крайней мере, когда я проверяю его с помощью firebug), но текст не отображается (JavaScript не был запущен ...?).
Я посмотрел в Интернете и, похоже, не нашел подходящего решения.
Было бы очень признательно, если бы кто-то мог указать мне правильное направление или позволить мне
знать, если я подхожу к этому совершенно неправильно.
Спасибо