在我的CJuiAutoComplete
中,我目前有以下代码。
$this->widget('zii.widgets.jui.CJuiAutoComplete', array(
'name'=>'ABCForm[postcode]',
'id'=>'ABCForm_postcode',
..........
));
有没有办法获取模型名称,所以我不必在我的jquery中硬编码?
如果将来更改名称,我不必通过所有JS代码来更改name
和id
。
答案 0 :(得分:2)
我认为您应该使用CHtml::activeId
和CHtml::activeName
因为它更适合Yii。所以你的代码看起来像是:
$this->widget('zii.widgets.jui.CJuiAutoComplete', [
'name'=>CHtml::activeName($model, 'postcode'),
'id'=>CHtml::activeId($model, 'postcode'),
//..........
]);
编辑:我之前从未使用过CJuiAutoComplete
,但使用其model
和attribute
窗口小部件参数(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)