如何在下拉列表中显示所选项目名称?
Posted
技术标签:
【中文标题】如何在下拉列表中显示所选项目名称?【英文标题】:How to show the selected item name in the drop down list? 【发布时间】:2013-09-02 19:16:45 【问题描述】:我创建了一个工作正常的下拉列表,它从数据库中获取数据并将其显示在下拉列表中。问题是我无法确定在选择标签中使用“选定”属性的位置。现在无论我选择哪个字段都会打开它,但在下拉列表中它会显示第一个给定名称。我也尝试使用“选定”属性,但它显示下拉列表中的最后一个项目名称。
请检查并指导我如何在循环中使用“选定”属性。
<?php
//Drop Down List
$sub_query = "select * from sub_categories where category_id=$category_id ";
if (!$sub_query_run = mysql_query($sub_query))
echo mysql_error();
else
echo "<select name='menu1' id='menu1' >
<option value='#'> All</option> ";
while ($sub_query_fetch = mysql_fetch_array($sub_query_run))
//$sub_query_fetch = mysql_fetch_array($sub_query_run);
$sub_category_id2 = $sub_query_fetch['sub_category_id'];
$sub_category_name = $sub_query_fetch['sub_category_name'];
echo "<option value='earings2.php?sub_category_id=$sub_category_id2' >"
.htmlspecialchars($sub_category_name= $sub_query_fetch['sub_category_name']).
"</option>";
【问题讨论】:
【参考方案1】:按照这个例子..
<select name="cate" id="cate" class="reginput" >
<option value="">Select Category</option>
<?php $s2="select * from tbl_category order by cate_name";
$q2=mysql_query($s2);
while($rw2=mysql_fetch_array($q2))
?>
<option value="<?php echo $rw2['id']; ?>"<?php if($rw2['id']==$row['cate_id']) echo 'selected="selected"'; ?>><?php echo $rw2['cate_name']; ?></option><?php ?>
</select>
【讨论】:
【参考方案2】:您必须为所选项目添加条件。
echo "<option value='earings2.php?sub_category_id=$sub_category_id2'";
if ($sub_category_id2 == $MATCHING_CATEGORY_ID) echo " selected";
echo ">".htmlspecialchars($sub_category_name= $sub_query_fetch['sub_category_name'])."</option>";
其中 $MATCHING_CATEGORY_ID 是要选择的类别 ID。
【讨论】:
【参考方案3】:<option value="#" selected>ALL</option>
“选择”应该包含在选项标签中
【讨论】:
是的,但是当我在循环中添加它时,它会在下拉列表中显示最后选择的项目。 @TahaKirmani 那是因为你将把“selected”添加到所有你的选项标签中。 其中需要添加条件语句。 eg: if(condition) else 【参考方案4】:试试看,
// get the category id from request parameter
$sc_id=isset($_REQUEST['sub_category_id']) ? $_REQUEST['sub_category_id'] : "";
while ($sub_query_fetch= mysql_fetch_array($sub_query_run))
//$sub_query_fetch= mysql_fetch_array($sub_query_run);
$sub_category_id2= $sub_query_fetch['sub_category_id'];
$sub_category_name= $sub_query_fetch['sub_category_name'];
$sel='';
if($sc_id==$sub_category_id2)// get the selected item
$sel='selected="selected"';
echo "<option value='earings2.php?sub_category_id=$sub_category_id2' ".$sel." >"
.htmlspecialchars($sub_category_name= $sub_query_fetch['sub_category_name']).
"</option>";
【讨论】:
【参考方案5】:你需要在<option>
标签中使用select
试试这个
while ($sub_query_fetch= mysql_fetch_array($sub_query_run))
//$sub_query_fetch= mysql_fetch_array($sub_query_run);
$sub_category_id2= $sub_query_fetch['sub_category_id'];
$sub_category_name= $sub_query_fetch['sub_category_name'];
$selected = ($isSelected == $sub_category_id2) ? 'selected' : ''; should be your selected condition fetch from db
echo "<option ".$selected."
value='earings2.php?sub_category_id=$sub_category_id2' >"
.htmlspecialchars($sub_category_name= $sub_query_fetch['sub_category_name']).
"</option>";
【讨论】:
以上是关于如何在下拉列表中显示所选项目名称?的主要内容,如果未能解决你的问题,请参考以下文章