如何在下拉列表中显示所选项目名称?

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】:

你需要在&lt;option&gt;标签中使用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>";

【讨论】:

以上是关于如何在下拉列表中显示所选项目名称?的主要内容,如果未能解决你的问题,请参考以下文章

从下拉列表中显示数据php

下拉搜索列表无法使变量等于所选选项

如何在本机反应中显示从可搜索下拉列表中选择的项目?

通过从下拉列表中选择字段名称来显示 mysql 表的字段数据

如何在 reactstrap 下拉菜单中设置所选项目?

使用 Angular 复制带有 UI 和所选值的下拉列表