Yii下拉列表的回发值



就像标题中描述的那样,我试图使用一个下拉列表来发布后台页面。该帖子在控制器中接收,但所选的值为空。这是我的下拉列表

<?php echo CHtml::dropDownList('groupe',$groupe, 
array("A"=>"A","B"=>"B","C"=>"C","D"=>"D","E"=>"E","F"=>"F","G"=>"G","H"=>"H"),
array(
'prompt'=>'--Choisir un groupe--',
'submit'=>CController::createUrl('classement'),
//'data'=>array('groupe'=>'js:this.value'),
));  ?>

这是我的控制器

public function actionClassement($groupe="")
    {echo $groupe;
            if(isset($_POST['groupe'])){echo $_POST['groupe']."ici=".$groupe;
                $groupe = $_POST['groupe'];
            }echo 'test';
            $model = Team::model()->getClassementByGroupe($groupe);
            $games = array();
            $games = Game::model()->getGameByGroupe($groupe);
            //echo '<pre>test';echo print_r($model);echo '</pre>';
            $this->render('classement',array(
                    'model'=>$model,
                    'groupe'=>$groupe,
                    'games'=>$games,
            ));
    }

感谢您的帮助,因为我没有发现我的错误:-s

您需要将下拉列表包装在一个表单中。这很有效。还要注意,如果存在$_GET变量,则会分配$groupe。你的组合正在发布,所以你需要使用$_POST['groupe']

<form method="post" action="<?= $this->createUrl('') ?>">
  <?php
  echo CHtml::dropDownList('groupe', $groupe, array(
      "A" => "A",
      "B" => "B",
      "C" => "C",
      "D" => "D",
      "E" => "E",
      "F" => "F",
      "G" => "G",
      "H" => "H"
          ), array(
      'prompt' => '--Choisir un groupe--',
      'submit' => CController::createUrl('classement'),
          //'data'=>array('groupe'=>'js:this.value'),
  ));
  ?>

</form>

我删除了用于测试控制器的模型。

public function actionClassement($groupe = "") {
  echo $groupe;
  if (isset($_POST['groupe'])) {
    echo $_POST['groupe'] . "ici=" . $groupe;
    $groupe = $_POST['groupe'];
  }echo 'test';
//   $model = Team::model()->getClassementByGroupe($groupe);
//   $games = array();
//   $games = Game::model()->getGameByGroupe($groupe);
  //echo '<pre>test';echo print_r($model);echo '</pre>';
  $this->render('view', array(
      'groupe' => $_POST['groupe'],
  ));
}

最新更新