在尝试将Yii生成的字段动态添加到表单时,我遇到了集成Yii和jQuery的问题。 即,我静态地使用此代码在我的表单上有一个下拉列表:
echo $form->label($model,Yii::t('candidates', 'Contact type'));
$options = CHtml::listData(HrpContactTypes::model()->findAll(),'id','type');
$ct = array();
$b=1;
for($i=0;$i<=count($options)-1;$i++) {
$ct[$b] = Yii::t('candidates', $options[$b]);
$b++;
}
echo $form->dropDownList($model,'contact_type_id',$ct,array('class'=>'form-control'));
我使用此代码在表单上输入文本:
echo $form->label($model,Yii::t('candidates', 'Contact')); ?>
echo $form->textField($model,'contact', array('required'=>'required', 'class'=>'form-control' ));
然后,我使用此代码动态添加元素到我的表单:
$('#addContact').click(function() {
$('#row').append(
'<br><div class="col-md-6">contact type</div><div class="col-md-6">contact</div>'
);
return false;
});
我的问题是:如何动态添加YII DROPDOWNLIST和YII TEXT-INPUT以及JQUERY的帮助?
答案 0 :(得分:0)
首先请注意编码。
CActiveForm::label() 的第二个参数必须是属性,并且您必须在模型类中翻译它(覆盖方法attributeLabels()),而不是形式:
public functions attributeLabels() {
return array(
'candidates' => Yii::t('candidates', 'Contact type'),
ATTRUBUTE_NAME => ATTRIBUTE_LABEL
);
}
了解loops in php。您可以使用循环变量$b
而不是声明其他变量$i
,而是从{1}开始从{1}开始获取值,因此$optios
的最后一个元素始终为$ct
我想你想写这个:
null
感谢。