我试图在PHP表单中构建动态选择框。我有它正确地工作,因为它确实正确地改变了值,但是,如果已经设置了值,我不能让框显示正确的值。目前,显示的值始终是用于填充选择列表的记录集中的第一个值。
我确定这很简单,但只是寻找一些快速指导。
这里是选择框的代码
<select name="select" id="select" title="<?php echo $row_ships['category']; ?>">
<?php
do { ?>
<option value="<?php echo $row_categories['key']?>">
<?php echo $row_categories['title']?>
</option>
<?php }
while ($row_categories = mysql_fetch_assoc($categories));
$rows = mysql_num_rows($categories);
if ($rows > 0) {
mysql_data_seek($categories, 0);
$row_categories = mysql_fetch_assoc($categories);
}
?>
</select>
答案 0 :(得分:0)
如果您尝试在之前提交表单后设置表单字段的选定选项,那么这应指向正确的方向。
<?php
$rowSelected = '';
if ( isset( $_POST['select'] ) && $_POST['select'] == $row_categories['key'] ) {
$rowSelected = 'selected="selected"'
}
?>
<option value="<?php echo( $row_categories['key'] ); ?>" <?php echo( $rowSelected ); ?>><?php echo $row_categories['title']?></option>
将它放在你的do-while-loop中。
如果您的表单使用GET,则必须将$_POST
替换为$_GET
。