Добрый день, есть такая проблема,
Есть виджет,
CJuiAutoComplete
$this->widget('zii.widgets.jui.CJuiAutoComplete',
[
'name'=>'place_id',
'value'=>'',
'source'=>Yii::app()->createUrl('places/autocomplete'),
'options'=>
[
'showAnim' => 'fold',
'minLength' => '3',
'select' => 'js:function( event, ui )
{
$("#placeSearch").val( ui.item.label );
$("#place_id").val( ui.item.id );
return false;
}',
],
'htmlOptions'=>
[
'onfocus' => 'js:
this.value = null; $("#place_id").val(null);
$("#selectedvalue").val(null);',
'class' => 'input-xxlarge search-query',
'name' => 'Hotels[place_id]',
'placeholder' => $model->place_id ? $model->place->name :
"Введите первые 3 и более буквы региона",
'id'=>'placeSearch'
],
]);
Есть необходимость перезагружать блок с формой, содержащий данные 2 виджета через ajax/jquery и renderPartial в контроллере:
Yii::app()->clientScript->scriptMap =
[
'jquery.js' => false,
'jquery.ui.js' => false,
'jquery.yiiactiveform.js' => false,
];
$this->renderPartial('_formAjax',
[
'model' => $model,
'customers' => $customers,
'managers' => $managers,
'hotels' => $hotels,
], false, true);
Yii::app()->end();
jquery скрипты не дублируются. Проблема следующего характера: Перед обновлением оба виджет хорошо работает, но после происходит следующее:
Выпадающий список выпадает, но перестает работать событие, указанное в виджете:
'select' => 'js:function( event, ui )
{
$("#placeSearch").val( ui.item.label );
$("#place_id").val( ui.item.id );
return false;
}
А точнее при наведении на список, желая выбрать пункт, пропадает весь список. ul превращается в
display:none
Пробовал костыль сделать, чтобы при наведении на выпадалку, она оставалась бы
display:block
После её исчезновения, она становится
display:none и висит в
firebug
<?php if(Yii::app()->request->isAjaxRequest): // && !isset($_GET['term']) ?>
<script type="text/javascript">
var elem = $('.ui-autocomplete.ui-menu.ui-widget.ui-widget-content.ui-corner-all');
elem.mouseenter(function()
{
console.log('Навели');
});
</script>
<?php endif;?>
Но консоль ничего не пишет, следовательно мое события перебивают события компонента из виджета
Как сделать так, чтобы при наведении на выпадающий список не пропадал? Он очень нужен, с ним можно костылей написать, но он падла пропадает.
Подскажите пожалуйста! Может кто сталкивался.