@EVOSandru6

Почему исчезает выпадалка у CJuiAutoComplete при наведении мышки в режиме isAjaxRequest?

Добрый день, есть такая проблема,

Есть виджет,

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;?>


Но консоль ничего не пишет, следовательно мое события перебивают события компонента из виджета

Как сделать так, чтобы при наведении на выпадающий список не пропадал? Он очень нужен, с ним можно костылей написать, но он падла пропадает.
Подскажите пожалуйста! Может кто сталкивался.
  • Вопрос задан
  • 236 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
28 нояб. 2024, в 14:38
250000 руб./за проект
28 нояб. 2024, в 14:33
70000 руб./за проект
28 нояб. 2024, в 14:18
1500 руб./за проект