Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在yii框架中使用ajax从表单到控制器获取数据_Php_Ajax_Drop Down Menu_Yii - Fatal编程技术网

Php 如何在yii框架中使用ajax从表单到控制器获取数据

Php 如何在yii框架中使用ajax从表单到控制器获取数据,php,ajax,drop-down-menu,yii,Php,Ajax,Drop Down Menu,Yii,嗨,我是yii框架的新成员。我在第一个下拉列表的基础上创建了两个动态下拉列表,我想显示第二个下拉列表。我还想对这两个下拉列表进行验证。那么,如何将id从表单传递到控制器,以及如何验证它呢?请帮帮我,我的表格代码是 echo CHtml::activeDropDownList($model,'classid',CHtml::listData(Classdetails::model()->findAll(array("condition"=>"classid >0 and Scho

嗨,我是yii框架的新成员。我在第一个下拉列表的基础上创建了两个动态下拉列表,我想显示第二个下拉列表。我还想对这两个下拉列表进行验证。那么,如何将id从表单传递到控制器,以及如何验证它呢?请帮帮我,我的表格代码是

echo CHtml::activeDropDownList($model,'classid',CHtml::listData(Classdetails::model()->findAll(array("condition"=>"classid >0 and School_Id='$School' and Status=1","order"=>"classid")),'classid','classname'),
     array(
     'empty'=>'--Select a Class--',
     'ajax' => array(
     'type'=>'POST', //request type
     'url'=>CController::createUrl('Ptempnotification/Dynamiccities'), 
     'update'=>'#pid',      
     )));
    echo $form->error($model,'classid');
 echo $form->labelEx($model,'pid');
 echo CHtml::dropDownList('pid','', array());   
 echo $form->error($model,'pid');
我的控制器代码是

public function actionDynamiccities()
{

     $data = Puserprofile::model()->findAllByAttributes(array('classid' => $_POST['classid']));
    $data=CHtml::listData($data,'pid','username');
    foreach($data as $value=>$name)
    {
        echo CHtml::tag('option', array('value'=>$value),CHtml::encode($name),true);
    }
}
这里dynamiccities函数正在调用,但
$\u POST['classid']
正在传递null。Iam使用yii framework 1.1

请像这样尝试

echo CHtml::activeDropDownList($model,'classid',CHtml::listData(Classdetails::model()->findAll(array("condition"=>"classid >0 and School_Id='$School' and Status=1","order"=>"classid")),'classid','classname'),
     array(
     'empty'=>'--Select a Class--',
     'ajax' => array(
     'type'=>'POST', //request type
     'url'=>CController::createUrl('Ptempnotification/Dynamiccities'), 
      'data'=>array('classid'=>'js: $(this).val()'),
     'update'=>'#pid',      
     )));

如果我没有选择,则表示它显示未定义的索引:classid。如果我选择表示另一个下拉列表未显示是,它正在工作如何验证第二个下拉列表echo CHtml::dropDownList('pid','',array(),array('empty'=>'--选择用户名--');以及如何在第二个下拉列表的controlleruse id中获取值,并获取其值$('#pid').val(),在我想添加这一行的地方,您能解释更多吗