在yii中获取jquery的模型名称

在yii中获取jquery的模型名称,yii,Yii,在我的cguiautocomplete中,我目前拥有以下代码 $this->widget('zii.widgets.jui.CJuiAutoComplete', array( 'name'=>'ABCForm[postcode]', 'id'=>'ABCForm_postcode', .......... )); 有没有办法获取模型名,这样我就不必在

在我的
cguiautocomplete
中,我目前拥有以下代码

$this->widget('zii.widgets.jui.CJuiAutoComplete', array(
                'name'=>'ABCForm[postcode]',
                'id'=>'ABCForm_postcode',
                   ..........
             ));
有没有办法获取模型名,这样我就不必在jquery中硬编码它


如果将来我更改了名称,我不必通过所有JS代码来更改
名称
id

如果您使用变量
$model
将模型传递到视图中,您可以尝试:

get_class($model)
我认为你应该使用和,因为它更适合我。因此,您的代码如下所示:

$this->widget('zii.widgets.jui.CJuiAutoComplete', [
   'name'=>CHtml::activeName($model, 'postcode'),
   'id'=>CHtml::activeId($model, 'postcode'),
   //..........
]);
编辑:我以前从未使用过
cguiautocomplete
,但是使用它的
模型和
属性
小部件参数()是否更有意义:


$this->model
如果模型位于控制器内部,而不是传递给视图,则可以工作(Yii1没有视图对象,只有控制器);因此,如果您将模型传递给名为
model
的视图,那么它应该是
get\u class($model)
$this->widget('zii.widgets.jui.CJuiAutoComplete', [
   'model'=>$model,
   'attribute'=>'postcode',
   //..........
]);