2011-06-24 66 views
1

以下代码会生成一个动态下拉框。记住选项框的值

<select name="parent"> 
    <?php 
    $q = $admindb->getParentCategories(); 
    while($row=mysql_fetch_assoc($q)){ 
     $title=$row['title']; 
     $catid=$row['id']; 
     ?> 
     <option value="<?php echo $catid; ?>"><?php echo $title; ?></option> 
     <?php 
    } 
    ?> 
</select> 

但是,如果形式返回给用户验证错误, 我需要框记得以前的选择..

当使用一个文本框,我用下面的代码请记住条目..

<input type="text" name="title" value="<?php echo $form->value("title"); ?>"> 

如何将该值标记中的内容添加到选择代码?

感谢

+0

取决于当你说这究竟是如何工作的“返回给用户验证错误“。我们在谈论什么样的“回报”? –

回答

1

option行更改为:

<option value="<?php echo $catid; ?>"<?php if($catid == $form->value("fieldname") echo 'selected="selected"'; ?>><?php echo $title; ?></option> 
1

您必须使用selected属性:

<option value="<?php echo $catid; ?>" 
     <?php if ($_GET['parent'] === $catid): echo 'selected'?>><?php echo $title; ?></option> 

如果你写XHTML,使用selected="selected"

1

您需要添加selected="true"到正确的选项是这样的:

<select name="parent"> 
    <?php 
    $q = $admindb->getParentCategories(); 
    while($row=mysql_fetch_assoc($q)){ 
     $title=$row['title']; 
     $catid=$row['id']; 
     ?> 
     <option value="<?php echo $catid; ?>" <?php if ($catid == $form->value("title")) { echo ' selected="true"';} ?>><?php echo $title; ?></option> 
     <?php 
    } 
    ?> 
</select>