记住选项框的值

时间:2011-06-24 13:19:16

标签: php

以下代码生成一个动态下拉框。

<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"); ?>">

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

由于

3 个答案:

答案 0 :(得分:1)

您必须使用selected属性:

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

如果您编写XHTML,请使用selected="selected"

答案 1 :(得分:1)

将您的option行更改为:

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

答案 2 :(得分: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>