0

我想让一个下拉列表有一个默认值,类似于你value="abc"在文本字段或类似字段中的默认值。唯一需要注意的是,我希望它默认为 SQL 查询指向的位置。请原谅长代码。

//prior code where table and `foreach()` loop begins
                        <td>
                            <input type="text"
                                value="<?php echo $var["author"]; ?>"
                                required="required">
                            </input>
                        </td>
                        <td>
                            <select name="condition"
                                value="<?php echo $var["condition"]; ?>"
                                    <option>M</option>
                                    <option>NM</option>
                                    <option>E</option>
                                    <option>G</option>
                                    <option>P</option>
                            </select>
                        </td>
//subsequent code where table is closed

前半部分,我有一个默认值的文本字段$var["author"],因为这是我事先查询的。对于第二个,我似乎无法得到相同的结果,因为它是一个下拉菜单而不是文本字段。如果 .sql 查询显示“NM”,则默认值始终为“M”。有什么办法可以做到这一点?

4

1 回答 1

2

你想要的是这样的:

//prior code where table and `foreach()` loop begins
                        <td>
                            <input type="text"
                                value="<?php echo $var["author"]; ?>"
                                required="required">
                            </input>
                        </td>
                        <td>
                            <select name="condition">
                                    <option value="M"<?php echo ($var["condition"] == 'M' ? ' selected="selected"' : ''); ?>>M</option>
                                    <option value="NM"<?php echo ($var["condition"] == 'NM' ? ' selected="selected"' : ''); ?>NM</option>
                                    <option value="E"<?php echo ($var["condition"] == 'E' ? ' selected="selected"' : ''); ?>E</option>
                                    <option value="G"<?php echo ($var["condition"] == 'G' ? ' selected="selected"' : ''); ?>G</option>
                                    <option value="P"<?php echo ($var["condition"] == 'P' ? ' selected="selected"' : ''); ?>P</option>
                            </select>
                        </td>
//subsequent code where table is closed

或更优雅:

$dropdownOptions = array('N', 'NM', 'E', 'G', 'P');
//prior code where table and `foreach()` loop begins
                        <td>
                            <input type="text"
                                value="<?php echo $var["author"]; ?>"
                                required="required">
                            </input>
                        </td>
                        <td>
                            <select name="condition">
                                    <?php foreach ($dropdownOptions AS $option) {
                                         echo '<option value="' . $option . '"' . ($var["condition"] == $option ? ' selected="selected"' : '') . '>' . $option . '</option>';
                                    } ?>
                            </select>
                        </td>
//subsequent code where table is closed
于 2013-01-03T06:48:26.867 回答