在yii中获取jquery的模型名称

时间:2014-08-08 10:15:14

标签: yii

在我的CJuiAutoComplete中,我目前有以下代码。

$this->widget('zii.widgets.jui.CJuiAutoComplete', array(
                'name'=>'ABCForm[postcode]',
                'id'=>'ABCForm_postcode',
                   ..........
             ));

有没有办法获取模型名称,所以我不必在我的jquery中硬编码?

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

2 个答案:

答案 0 :(得分:2)

我认为您应该使用CHtml::activeIdCHtml::activeName因为它更适合Yii。所以你的代码看起来像是:

$this->widget('zii.widgets.jui.CJuiAutoComplete', [
   'name'=>CHtml::activeName($model, 'postcode'),
   'id'=>CHtml::activeId($model, 'postcode'),
   //..........
]);

编辑:我之前从未使用过CJuiAutoComplete,但使用其modelattribute窗口小部件参数(http://www.yiiframework.com/doc/api/1.1/CJuiInputWidget#model-detail)更有意义:< / p>

$this->widget('zii.widgets.jui.CJuiAutoComplete', [
   'model'=>$model,
   'attribute'=>'postcode',
   //..........
]);

答案 1 :(得分:0)

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

get_class($model)