Yii renderpartial Eselect2设计它没有正常工作

时间:2016-04-18 13:13:18

标签: javascript php jquery ajax yii

我想在Popup中显示我的数据,一旦用户选择部门显示

使用Ajax,Geeting

与用户选择的部门相关的员工姓名

数据正确但是我在Eselect2 Widget中显示了员工的名字

Yii中的多个选项,即Eselect2 Design Not coming It显示正常

选择下拉用户使用ctrl键选择多项选择。

我的Codings,在那个Div工作人员我正在展示eselect2小部件数据。

Ajax编码

<div id ="staffs></div>

function selectstaff(id)
{

    $.ajax({
        type: 'POST',
        url: '<?php echo Yii::app()->createAbsoluteUrl("user/users/ajaxselectstaff"); ?>',
        data: 'id=' + id,
        success: function (packages) {
            $('#staffs').html(packages);
        }
    });

}

控制器编码

public function actionAjaxselectstaff() {
    $id = Yii::app()->request->getPost('id');       
    $model = Users::model()->getAllStaffDepartment($id);
    $this->renderPartial('ajaxselect', array('model' => $model));
}

MOdel Coding,

public function getAllStaffDepartment($id, $type = '') {
    $model = UserAccount::model()->findAll('department_code=:id', array(':id' => $id));
    $userid = "";
    $result = "";
    if (isset($model)) {
        foreach ($model as $data) {
            $userid .= $data->user_id . ",";
        }
    }
    $userid = trim($userid, ',');
    if ($userid != "") {
        $criteria = new CDbCriteria();
        $criteria->condition = "user_role_id!=" . Yii::app()->mconstant->CONST_FIVE . " AND user_role_id!= " . Yii::app()->mconstant->CONST_SIX . " AND user_role_id!= " . Yii::app()->mconstant->CONST_NINE . " AND user_id IN (" . $userid . ")";
        $result = Users::model()->findAll($criteria);
        $data = CHtml::listData($result, 'user_id', 'real_name');
        return $data;
    } else {
        return false;
    }
}

Ajaxselect页面:

<?php

Yii::app()->clientScript->scriptMap['jquery.js'] = false;
Yii::app()->clientScript->scriptMap['jquery.min.js'] = false;
if ($model) {
?>
<?php

$this->widget('ext.select2.ESelect2', array(
    'name' => 'users',
    'id' => 'users',
    'data' => $model,
    'htmlOptions' => array(
        'multiple' => true,
        'placeholder' => 'Select Users',
    ),
));
?>
<?php

  } else {
  echo "No Staff's Found";
 }
?>

我的代码中出了什么问题?我更改页面以使eselect2小部件设计正确呈现,但渲染部分eselect2设计无法获取,

1 个答案:

答案 0 :(得分:1)

控制器的变化很小,如下所述。

public function actionAjaxselectstaff() {
    $id = Yii::app()->request->getPost('id');       
    $model = Users::model()->getAllStaffDepartment($id);
    $this->renderPartial('ajaxselect', array('model' => $model) ,false , true);
}

请在以下链接中找到renderPartial的第三个和第四个参数的说明:http://www.yiiframework.com/doc/api/1.1/CController#renderPartial-detail