У меня есть html со ссылкой:
<a id="myLink" href="/aa.html" title="New Bangoo" class="bangoo">Bangoo</a>
, и я включаю js-файл со следующими строками:
$("#myLink").live('click', function() {
var typi = 'Ginga';
$("#typeList").append('<option>' + typi + '</option>');
});
aa.html
имеет следующее:
<label for="typeList">Type</label>
<div>
<select id="typeList"></select>
</div>
aa.html
открывается в палитре.Все в порядке, но я не могу добавлять типы для выбора списка.У него нет элементов, когда он заканчивает открываться.Раньше работал, но сейчас не работает.Это может быть из-за того, что файл js пытается добавить в список перед загрузкой html?
Есть идеи?
РЕДАКТИРОВАТЬ:
Когда я это делаюработает:
$("#myLink").live('click', function() {
alert('Wait Here!');
var typi = 'Ginga';
$("#typeList").append('<option>' + typi + '</option>');
});
Когда я предупреждаю что-либо, оно ждет и в это время у него есть достаточно времени, чтобы добавить список выбора.Как я могу убедиться, что внешняя ссылка загружена, чтобы я мог начать добавлять?
PS: Моя проблема заключается в том, что я пытаюсь добавить элемент HTML, который загружается после нажатия кнопки myLink
.aa.html
не помещается в dom в начале, я загружаю его из внешнего источника.
После загрузки внешней страницы на экране в списке выбора нет элементов.Когда я пытаюсь запустить тот же код из Firebug, он добавляет опции для выбора списка и работает.Это означает, что код работает, но есть проблема с синхронизацией и асинхронизмом, из-за которой я хочу добавить элементы в список выбора, прежде чем он будет расположен в дереве dom.Я должен ждать загрузки и после этого запустить мой код.