Не работает селектор JQuery после перезагрузки по ajax

Работаю над следующей задачей:

Есть список стран, при выборе страны карта гугла позиционируется на нее и по ajax загружается список городов, при выборе города карта гугла позиционируется на него.

Проблема:

при стартовой загрузке все работает на городах дефолтной страны, при перезагрузке городов наведение работать перестает.

Это здесь: http://maps.otpusk.lg.ua/

Т.е. если я перезагружаю id селектор JQuery на этот селектор перестает работать. Что я делаю не так?

Спасибо

При старте:

<li><a href="#" id="yt4">Албена</a></li>

При перезагрузке:

<li><a href="#" id="yt0">Албена</a></li>

Итого: разные иды. + тебе надо после каждой перезагрузке заново объявлять действие по клику для ссылок. А он у тебя объявляется только при первом старте.

С этим согласен.

Но там еще есть вверху выпадающий список:


<select id="cit" name="cit">

<option value="97">Албена</option>

</select>

а потом скрипт:


jQuery('#cit').change(function(){jQuery.ajax({'url':'/index.php?r=map_city/ajax','data':"cid="+this.value,'dataType':'script','cache':false});return false;});

та вот при перезагрузке кода


<select id="cit" name="cit">

 <option value="97">Албена</option>

 </select>

та стора JQuery перестает работать.

Насколько я понимаю, вы используете renderPartial()?

Указываете ли вы 4й параметр? Для view, которые генерируют скрипты, он должен быть установлен в true.

Примерно так:




$this->renderPartial('view',array('data'=>$data),false,true);



И не помешало бы чуть больше кода. Как выглядят контролы? Как рендерится view? И т.д. Вслепую приходится только гадать.

решил эту проблему так:

в новых линках и выпадающих меню по onclick и onchange соответственно делаю:


jQuery.ajax({url:'/index.php?r=map_city/ajax',data:'cid=2870',dataType:'script'});return false;