someone
(198506)
August 9, 2010, 1:31pm
1
Приветствую!
Возникла проблема. С недавних пор в репозитарии поменяли событие у CHtml::clientChange jQuery.live на .delegate.
И после этого перестал срабатывать handler.
При .live все ок, арбайтает, а вот при .delegate ни в какую. Firebug даже не перехватывает.
Кто уже столкнулся с данной траблой - поделитесь если решили.
Вот код:
<?= CHtml::activeDropDownList($model, 'first_id', $listFirst, array('ajax' => array(
'type' => 'POST',
'url' => $this->createUrl('/ajax/json', array('mode'=>'second')),
'update' => '#second_id',
'data'=>array('rid'=>'js:$(this).val()'),
))); ?> - <?= CHtml::activeDropDownList($model, 'second_id',$listSecond, array('id'=>'second_id')); ?></td>
Вот что генерит CHtml:
/*<![CDATA[*/
jQuery(document).ready(function() {
jQuery('body').delegate('#Notes2_first_id','change',function(){jQuery.ajax({'type':'POST','url':'/ajax/json/mode/second','data':{'rid':$(this).val()},'cache':false,'success':function(html){jQuery("#second_id").html(html)}});return false;});
...
raa
(Rudenkosasha)
August 23, 2010, 4:24pm
2
а этот ID #Notes2_first_id у вас есть в коде ?
raa
(Rudenkosasha)
August 24, 2010, 9:19am
4
Не нравится когда такие простые js действия генерирует фреймворк.
тяжелей дэбажить.
попробуйте посмотреть вешается через Visual Event
так визуально будет видно где есть эвенты и какие именно.
someone
(198506)
September 2, 2010, 5:39am
5
Александр, воспользовался вашей тулзой. Показал что не хендлится на самом деле onChange. В общем после поста issue и разборов полетов нашел где "собака была зарыта". Процитирую "as is" отписал на "issues".
There was a problem with a compability with JFromValidate extension.
Addittional for exception with extension JFormValidate:
JFormValidate overrides JQuery’s method .delegate.
Solved this with renaming in extension js delegate to another method like this:
$.extend($.fn, {
delegateEx: function(type, delegateEx, handler) {
return this.bind(type, function(event) {
var target = $(event.target);
if (target.is(delegateEx)) {
return handler.apply(target, arguments);
}
});
},
raa
(Rudenkosasha)
September 2, 2010, 6:59am
6
Очень удобная тулза. Сразу можно видеть где что висит