数据库值为html选择下拉列表中的“已选择”项

时间:2014-12-08 20:32:43

标签: html.dropdownlistfor

在我的数据库中添加新记录时,我使用html select下拉列表将用户对特定字段的选择限制为:New,Good,Fair和Poor。这四个值中的一个将始终存储在该字段中。

在另一个页面上,我为用户提供了编辑该字段内容的机会。在那里,我还将使用相同的html选择下拉列表将用户的选择限制为相同的四个值。

为了将当前值保持为默认值,我需要将其作为下拉列表中的“选定”值。如何强制数据库中的当前值成为下拉列表中的“选定”值?谢谢!

2 个答案:

答案 0 :(得分:0)

试试这个(请记住,我不知道你是如何从数据库中获取价值的,所以要相应调整):

<?php $rating = value_from_db; ?> // However it is being passed.

<select name="rating">
  <option value=""></option>
  <option value="new" <?php ($rating == "new" ? "selected":"") ?> >New</option>
  <option value="good" <?php ($rating == "good" ? "selected":"") ?> >Good</option>
  <option value="fair" <?php ($rating == "fair" ? "selected":"") ?> >Fair</option>
  <option value="poor" <?php ($rating == "poor" ? "selected":"") ?> >Poor</option>
</select>

如果来自DB的值与选项中的值匹配,则使用Ternary Operation ?用于内联If/Else语句来设置要检查的属性。

注意还假设您正在使用Php。没有标签或指示,但我正在为这个问题做很多假设...

希望有所帮助!

答案 1 :(得分:0)

对于任何可能感兴趣的人来说,这是最终解决方案,效果很好!

<select name="condition">
  <option value="good" ${"good" == usedEquipListItem.condition ? "selected" : "" }>Good</option>
  <option value="fair" ${"fair" == usedEquipListItem.condition ? "selected" : "" }>Fair</option>
  <option value="poor" ${"poor" == usedEquipListItem.condition ? "selected" : "" }>Poor</option>
</select>

变量usedEquipListItem.condition保存数据库中的当前值。