Rsol
(Slava Rudnev)
August 13, 2009, 7:57am
1
Работаю над следующей задачей:
Есть список стран, при выборе страны карта гугла позиционируется на нее и по ajax загружается список городов, при выборе города карта гугла позиционируется на него.
Проблема:
при стартовой загрузке все работает на городах дефолтной страны, при перезагрузке городов наведение работать перестает.
Это здесь: http://maps.otpusk.lg.ua/
Т.е. если я перезагружаю id селектор JQuery на этот селектор перестает работать. Что я делаю не так?
Спасибо
Bethrezen
(B37hr3z3n)
August 13, 2009, 12:04pm
2
При старте:
<li><a href="#" id="yt4">Албена</a></li>
При перезагрузке:
<li><a href="#" id="yt0 ">Албена</a></li>
Итого: разные иды. + тебе надо после каждой перезагрузке заново объявлять действие по клику для ссылок. А он у тебя объявляется только при первом старте.
Rsol
(Slava Rudnev)
August 14, 2009, 5:45am
3
Bethrezen:
При старте:
<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 перестает работать.
Demyan
(Realdemyan)
August 18, 2009, 7:43am
4
Насколько я понимаю, вы используете renderPartial()?
Указываете ли вы 4й параметр? Для view, которые генерируют скрипты, он должен быть установлен в true.
Примерно так:
$this->renderPartial('view',array('data'=>$data),false,true);
И не помешало бы чуть больше кода. Как выглядят контролы? Как рендерится view? И т.д. Вслепую приходится только гадать.
Rsol
(Slava Rudnev)
August 18, 2009, 11:27am
5
Demyan:
Насколько я понимаю, вы используете 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;