看到http://blog.youkuaiyun.com/ysdaniel/ysdaniel的文章上手去试了下,非常简洁 感谢ysdaniel。 在也不用那么麻烦的js了。 废话不多说,上代码
view-> controller->model依次
<h2>yii 联动</h2>
<?php
//node 为表单name
echo CHtml::dropDownList('node', '',CHtml::listData(Item::model()->findAll(),'item_id','item_name'),
array(
'empty'=>'--请选择部门--', //空数据时填充
'id' => 'node', //相当js id
'ajax'=>array(
'type'=>'POST',
'url'=>Yii::app()->createUrl('site/getNode'),
'update'=>'#user_list', //要更新的dom元素 名称
'data'=>array('id'=>'js:$("#node").val()'), //jq id选择上面node
)
)
);
echo "||";
echo CHtml::dropDownList('user_list', '', array('--请选用户--'));
?>
/**
* date 2014.12.18
* add by hxl
*/
public function actionGetNode()
{
$user_list = ItemUser::model()->getUserList($_POST['id']); //通过节点ID 匹配用户
if(!$user_list)
{
echo CHtml::tag('option', array('value'=>''), '暂无', true);
}
foreach($user_list as $k => $v){
echo CHtml::tag('option', array('value'=>$v['user_id']), CHtml::encode($v['user_name']), true);
}
}
//add by hxl
public function getUserList($id)
{
$sql = "SELECT user_id,user_name FROM k_item_user WHERE item_id = '{$id}' ";
$cmd = Yii::app()->db->createCommand($sql);
$ret = $cmd->queryAll();
if (!$ret){
throw new Exception("找不到了 歇歇吧");
}
return $ret;
}
效果: