2014-01-20 21 views
1

工作后,我有:YII MaskedTextField不AJAX加载

视图 - _form.php

echo CHtml::ajaxLink(CHtml::image('/images/plus.png', ''), 
    $url = CController::createUrl('User/Dynamicreference'), $ajaxOptions=array (
     'type'=>'POST',  
     'success'=>'function(data){ $(body).append(data);}' 
    ) 
); 

而且UserController.php

public function actionDynamicreference(){ 
    $this->widget('CMaskedTextField', array(
     'name' => 'Items[items_reference][]', 
     'value' => '', 
     'mask' => '999999', 
    )); 
} 

面膜输入不AJAX加载后工作(jQuery的不会在AJAX请求之后执行)。我怎么解决这个问题?

回答

1

解决方案位于CController.renderPartial()的第四个参数processOutput中。将其设置为true,您将在您的ajax请求中获得jquery.maskedinput插件。

//动作

// ... 
if (Yii::app()->request->isAjaxRequest) 
    { 
     $content = $this->renderPartial('content', null, true, true); 
     echo $content; 
     Yii::app()->end(); 
    } 
// ... 

//视图文件content.php

<?php $this->widget('CMaskedTextField', array('mask'=>'99:99:99','name'=>'someName')); ?>