【发布时间】:2015-10-27 11:02:15
【问题描述】:
我是 Yii 的新手。我正在尝试使用 ajax 生成 Dependent 下拉字段 我有一个视图文件名 swap.php 并包含以下代码
<?php $form=$this->beginWidget('bootstrap.widgets.TbActiveForm',array(
'id'=>'projects-form',
'type'=>'horizontal',
'enableAjaxValidation'=>false,
'enableClientValidation'=>true,
'htmlOptions'=>array(
'enctype'=>"multipart/form-data"
)
)); ?>
<?php echo $form->dropDownListRow($model, 'salesperson', $data,array('labelOptions'=>array('label'=>'Select Sales Person'),'empty'=>array(''=>'Choose Sales Person'), 'class'=>'span3','maxlength'=>5,
'ajax'=>array(
'type'=>'POST',
'url'=>$this->createUrl('getUsers'),
'update'=>'#SalesPersonsAssignLog_users'
)
));
?>
<div id="SalesPersonsAssignLog_users">
</div>
<?php $this->endWidget(); ?>
在相应的控制器中我有以下功能
public function actionGetUsers()
{
$result = $_POST['SalesPersonsAssignLog'];
$salesPersonId = $result['salesperson'];
$model = new UsersSalesPersons;
$result = $model->getAssignedCompanies($salesPersonId);
$resultArray = array();
foreach($result as $value)
{
$id = $value->company->user_id;
$name = $value->company->user_company;
$resultArray[$id] = $name;
}
$this->renderPartial('_ajaxUsers',array('data'=>$resultArray,'model'=>$model));
}
__ajaxUsers.php 我需要使用TbActive form 创建一个dropdownListRow,
<?php echo $form->dropDownListRow($model, 'users', $data,array('labelOptions'=>array('label'=>'Sales Person'),'empty'=>array(''=>'Choose Sales Person'), 'class'=>'span3','maxlength'=>5)); ?>
遇到致命错误调用非对象上的成员函数dropDownListRow()
由于此页面中没有TbActiveForm,那么如何在ajax调用上创建dropdownListRow
【问题讨论】: