CJuiautoplete с мультиформной моделью - PullRequest
2 голосов
/ 02 января 2011

Я использую мультиформальную модель.Массив $ model передается в представление, и для каждого объекта модели я пытаюсь получить текстовое поле, и он прекрасно работает таким образом.См. Приведенный ниже код.

<code>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',) 
 ));

1 Ответ

1 голос
/ 03 января 2011

Это похоже на ошибку в Yii. Табличная форма ввода не работает с виджетами.

Обходной путь был опубликован на форумах Yii. Я не проверял это, но он работает:

http://www.yiiframework.com/forum/index.php?/topic/10685-collecting-tabular-input-with-zii-jui-widgets-is-broken/

В соответствии со строкой 82 в CJuiAutoComplete.php, закомментируйте следующие строки:

//else
  //$this->htmlOptions['name']=$name;

Чтобы убедиться, что вы не изменяете ядро ​​Yii и не нарушаете обновления, я скопировал бы CJuiAutoComplete.php в вашу папку / components и переименовал его в MyJuiAutoComplete или что-то в этом роде и назвал бы его вместо CJuiAutoComplete.

Удачи!

...