Javascript 在下拉列表中显示保存的数据-html选择标记

Javascript 在下拉列表中显示保存的数据-html选择标记,javascript,php,jquery,html,mysql,Javascript,Php,Jquery,Html,Mysql,我有一个静态下拉列表,格式如下: <select class="form-control" id="brand" name="brand"> <option value="">Please select a Brand</option> <option value="Apple">Apple</option> <option value="Samsung">Samsung</option> <option

我有一个静态下拉列表,格式如下:

<select class="form-control" id="brand" name="brand">
<option value="">Please select a Brand</option>
<option value="Apple">Apple</option>
<option value="Samsung">Samsung</option>
<option value="Sony">Sony</option>
</select>
当用户选择一个品牌时,可以说:Apple并提交表单。Apple的值将保存在mysql数据库中。我有选项供用户在提交表单后编辑表单

当用户编辑表单时,我知道如何从mysql检索数据并将其回显,但如何将包含值Apple的选项设置为选中,以便此值Apple将显示为默认值,而不是请选择一个品牌


谢谢,

您必须设置所选选项的参数

例如:

<option value="Apple" selected>Apple</option>

假设数据库中保存此值的变量为$brand,则可以执行以下操作:

<select class="form-control" id="brand" name="brand">
   <option value="">Please select a Brand</option>
   <option value='Apple' <?php echo $brand=='Apple'?'selected':''; ?>>Apple</option>
   <option value='Samsung' <?php echo $brand=='Samsung'?'selected':''; ?>>Samsung</option>
   <option value='Sony' <?php echo $brand=='Sony'?'selected':''; ?>>Sony</option>
</select>
<select class="form-control" id="brand" name="brand">
<?php
 $brands_array=array("Apple","Samsung","Sony"); // could come from DB
  foreach($brands_array as $b) {
   echo '<option value="',$b,'"',( $brand==$b ?' selected="selected"':'').'>',$b,'</option>';
  }
?>
</select>
当然,这可以通过一个循环来完成,如果您可以在一个查询中获得所有品牌。也许是这样的:

<select class="form-control" id="brand" name="brand">
   <option value="">Please select a Brand</option>
   <option value='Apple' <?php echo $brand=='Apple'?'selected':''; ?>>Apple</option>
   <option value='Samsung' <?php echo $brand=='Samsung'?'selected':''; ?>>Samsung</option>
   <option value='Sony' <?php echo $brand=='Sony'?'selected':''; ?>>Sony</option>
</select>
<select class="form-control" id="brand" name="brand">
<?php
 $brands_array=array("Apple","Samsung","Sony"); // could come from DB
  foreach($brands_array as $b) {
   echo '<option value="',$b,'"',( $brand==$b ?' selected="selected"':'').'>',$b,'</option>';
  }
?>
</select>
希望这有帮助


感谢Ismael Miguel的宝贵评论和建议

只需将其连接到mysql,检查他选中的值,然后在选项中显示所选内容。使用下面的html代码

<select class="form-control" id="brand" name="brand">
<option value="">Please select a Brand</option>
<option value="Apple" selected>Apple</option>
<option value="Samsung">Samsung</option>
<option value="Sony">Sony</option>
</select>
在本例中,苹果将被选择为默认值


希望这对您有所帮助

如果您打算使用PHP,请使用包含所有品牌的数组。另外,由于$brand=='检查中有混合引号,因此代码会出现大量语法错误。我会更新答案。你说得对。打字错误。你的更新看起来不错,但要避免使用大写的变量。在PHP中,大写的变量被视为“系统”变量。另外,请注意,$brand=='$b'将始终为False,因为数组中没有品牌$b。你想要$brand==b或者更好的$brand==b。您还有一个小的拼写错误:您的“perhas”而不是“maybe”。@IsmaelMiguel谢谢您的评论。大写字母只是为了突出它。没有其他原因。我希望它来自DB。还有“b美元”,你是正确的!别担心,你的代码现在看起来很棒。我不知道您是否注意到,但我已将“已选择”更改为“已选择=已选择”。这是因为XHTML不支持像selected这样的空属性。这是一件很好的事情。你已经得到了我的支持票,现在你需要更多的支持票!