【问题标题】:yii save dropdown checked state on page refreshyii 页面刷新时保存下拉选中状态
【发布时间】:2014-06-23 19:08:34
【问题描述】:

在页面重新加载时,在 yii 中保存下拉选中状态“是”,如果选择了?它默认为“否”。谢谢!

getAttributeLabel('MULTI_PART_FORM')); ?>

       <td class="type-text"><?php echo CHtml::dropDownList('MULTI_PART_PO','',array( 0=>'No',1=>'Yes'), array('onChange' => "$('#MULTI_PART_VIEW').show();")); ?></td>  
    </tr>
    <tr id="MULTI_PART_VIEW" style="display:none">
        <th><?php echo CHtml::encode($model->getAttributeLabel('MULTI_PART_VIEW')); ?></th>
        <td><?php echo CHtml::activeTextField($model,'MULTI_PART_PO',array('size'=>120,'maxlength'=>64,'value'=>$model->MULTI_PART_PO)); ?></td>
            <?php

【问题讨论】:

  • 1) 你有没有做过一个带有方法后工作的表单?
  • 现在正在处理这个问题。谢谢!
  • 我的意思是,用 HTML/PHP 制作一个表单,并在 PHP 中使用 $_POST/$_GET superglobals -> php.net/manual/de/language.variables.superglobals.php。所以你知道如何在 Yii 中处理这个问题。

标签: php mysql database drop-down-menu yii


【解决方案1】:
//VIEW CODE
echo CHtml::beginForm(Yii::app()->createUrl("{controllername}/save",array(/*'{controller parameter}'=>{parameter value},*/)),'post',array('id'=>'form_id'));

    echo CHtml::dropDownList('MULTI_PART_PO',$saved_dropdown_value,array( 0=>'No',1=>'Yes'), array('onChange' => "$('#MULTI_PART_VIEW').show();"));
    //dropDownList(string $name, string $select="the selected value", array $data, array $htmlOptions=array ( ))

echo CHtml::endForm();


//CONTROLLER CODE (add function Save to accessRules array)
public function actionSave(/*{controller parameter}*/)
{
    $model=new {Modelname};

    if(isset($_POST["MULTI_PART_PO"]))
    {
        $model->multi_part_po = $_POST["MULTI_PART_PO"];
        $model->save();
    }

    $this->render('{Viewname}',array(
        'saved_dropdown_value'=>$model->multi_part_po,
    ));
}

【讨论】:

  • 谢谢。我会在一小时后在工作中尝试。如果可行,我给你买星巴克!
  • 当下拉列表值改变时,你也可以通过ajax调用方法Save:$.post("createUrl('{controllername}/Save' ); ?>", {"MULTI_PART_PO": $("input[name='MULTI_PART_PO']").val()});
  • 谢谢。无法理解这部分:{controller parameter}'=>{parameter value}, and $model=new {Modelname};我相信这些将是我的模型和控制器的名称?但是模型参数是什么?谢谢,这是全新的!
  • {Modelname} 是您的模型的名称。 {controllername} 是您的控制器的名称。 {controller parameter} 是 $_GET 参数。在这个例子中你不需要它们,我只是为了完整起见添加了它们。
  • 谢谢。代码为我工作,非常感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 2011-03-11
  • 1970-01-01
  • 2021-04-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多