我正在使用多表单模型。 $ model数组被传递给视图,对于每个模型对象,我试图有一个文本字段,并且它以这种方式工作正常。请参阅下面的代码。
foreach ($model as $f=>$edu):
echo $form->textField($edu,"[$f]schoolname",array('size'=>30,'maxlength'=>128));
我正在尝试将自动填充文本字段编码为替换activeform文本字段。它不起作用。任何想法如何使这项工作。见下面的代码。
foreach ($model as $f=>$edu): $this->widget('zii.widgets.jui.CJuiAutoComplete', array( 'model'=>$edu, 'attribute'=>"[$f]schoolname", 'source'=>$this->createUrl('AutoComplete/acschoolname'), // additional javascript options for the autocomplete plugin 'options'=>array('showAnim'=>'fold',), 'htmlOptions'=>array('size'=>'30','maxlength'=>'128',) ));
答案 0 :(得分:1)
这似乎是Yii中的一个错误。使用小部件打破表格形式输入。
在Yii论坛上发布了一种解决方法。我没有测试过,但据报道它可以工作:
Baiscally,在CJuiAutoComplete.php的第82行附近,注释掉以下几行:
//else
//$this->htmlOptions['name']=$name;
为确保您不修改Yii核心并破坏升级,我会将CJuiAutoComplete.php复制到您的/ components文件夹并将其重命名为MyJuiAutoComplete或其他内容,然后调用它而不是CJuiAutoComplete。
祝你好运!