在Ajax之后,Yii“select2(autocomplete)”小部件不起作用

时间:2014-02-27 11:15:37

标签: ajax yii autocomplete widget jquery-select2

使用此小部件http://ivaynberg.github.io/select2/

不使用Ajax请求小部件工作。 如果在主视图中调用了窗口小部件,则一切正常。如果使用Ajax调用窗口小部件 - 窗口小部件不起作用。 在ajax之后小部件不起作用: 我有:

控制器:

public function actionDynamicwidget(){
  if (Yii::app()->request->isAjaxRequest)
  {
$content = $this->render('_ajaxContent', null); //Additional view
    Yii::app()->end();
   }    
}

查看(主视图):

<div id="city_region_row"></div>
<? echo CHtml::ajaxLink(
    CHtml::image('/images/plus.png', '', array(
        'id' => 'plus'  
    )),
    $url = CController::createUrl('Controller/Dynamicwidget'), 
    $ajaxOptions=array (
        'type'=>'POST',                 
        'success'=>'function(data){
                       $("#city_region_row").append(data);
                     }'
    ), 
    $htmlOptions=array ()
);

view:(_ ajaxContent)//附加视图

<input type="hidden" value="1" id="regid1"/><?
$this->widget('ext.ESelect2.ESelect2', array(
'selector' => '#regid1',
'options' => array(     
    'ajax'=>
    array(
      'url'=>CController::createUrl('/PromouterCity/autoComplete'),
      'dataType'=>'json',
      'data'     => 'js: function(term,page) {
                                   return {
                                     q: term,
                             };
            }',
      'results'  => 'js: function(data,page){
                return {results: data};
            }',
        ),
    'formatResult'       => 'js:function(data){
                var markup = data.name;
                return markup;
             }',
            'formatSelection'    => 'js: function(data, container) {
                                                    return data.name;
            }',     
),

));

0 个答案:

没有答案