在ajax加载后,YII MaskedTextField不起作用

时间:2014-01-20 14:45:21

标签: ajax yii textfield

我有:

查看 - _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-loaded之后掩码输入不起作用(在AJAX请求之后没有执行jQuery)。我该如何解决这个问题?

1 个答案:

答案 0 :(得分: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')); ?>