使用上次选择的值设置下拉列表的默认值


Set the default value of drop-down list with the last value chosen

我使用的是cakehp1.2,我有一个搜索表单,它也有这个菜单:

Classificazione&nbsp;&nbsp;<select style="margin-top: 5px;" name="classificazione">
            <option value="art0"></option>
            <option value="C">Articoli</option>
            <option value="D">Documentazione</option>
            <option value="A">Libri</option>
            <option value="G">Materiali</option>
            <option value="B">Riviste</option>
            <default value="A">
</select><br />

在下一页中,我想用用户之前选择的内容设置此菜单的默认值。

我是这样解决的(例如,使用第一个选项):在控制器中:

$getParams['classificazione'] = isset($params['classificazione']) ? $params['classificazione'] : '';
...
$this->set('getParams', $getParams);            

视图中:

<option value="C" <?php if ($getParams['classificazione']=="C") echo "selected"; ?> >Articoli</option>

将值保存在会话变量中,并使用该值回显该选项的selected

<?php
    function is_selected($selected_option, $list_option_value) {
       if($selected_option == $list_option_value) {
          return 'selected';
       }
    }
?>
<select>
   <option <?php echo is_selected($_SESSION['selected_option'], '1'); ?>>1</option>
</select>