使用此小部件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;
}',
),
));