2013-02-14 155 views
1

我使用CakePHP 1.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> 

回答

3

保存在一个值会话变量并用它来呼应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> 
+0

谢谢你,我用了一点不同的代码,我编辑我的问题 – Ettore 2013-02-14 11:33:27

+0

@Ettore很高兴它帮助你,欢迎你:)和顺便说一句,你可以砍掉,如果像我没条件,使用功能和通过参数传递值 – 2013-02-14 11:34:09