Я предполагаю, что вы присваиваете событие click
для элементов в #cities
, когда страница загружается.
Проблема в том, что если эти элементы не существуют при загрузке страницы, они не получают событие.
Попробуйте использовать .live()
вместо:
$('ul#cities li a').live('click', function() {...
Или лучше, используйте .delegate()
, если у вас jQuery 1.4 или новее.
$('ul#cities').delegate('li a', 'click', function() {...
Это помещает обработчик в ul#cities
, поэтому, пока он существует при загрузке страницы, обработчик будет там для вас. (Аналогично live()
, который помещает обработчик выше DOM.)
Примечание, когда вы ссылаетесь на идентификатор, $('#cities')
немного лучше, чем $('ul#cities')
.