如何在下拉框中设置所选项目

时间:2009-08-26 17:33:05

标签: php mysql select drop-down-menu

有没有办法使用以下“类型”代码在下拉框中设置所选项目?

<select selected="<?php print($row[month]); ?>"><option value="Janurary">January</option><option value="February">February</option><option value="March">March</option><option value="April">April</option></select>

数据库持有一个月..我想在编辑页面上允许他们选择这个月..但是要预先填写他们当前的设置?

13 个答案:

答案 0 :(得分:54)

您需要设置正确选项标记的selected属性:

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

您的PHP看起来像这样:

<option value="January"<?=$row['month'] == 'January' ? ' selected="selected"' : '';?>>January</option>

我通常发现创建一个值数组并在其中循环以创建下拉列表更为简洁。

答案 1 :(得分:15)

您在<option>标记上标记了所选项目,而不是<select>标记。

所以你的代码应该是这样的:

<select>
    <option value="January"<?php if ($row[month] == 'January') echo ' selected="selected"'; ?>>January</option>
    <option value="February"<?php if ($row[month] == 'February') echo ' selected="selected"'; ?>>February</option>
    ...
    ...
    <option value="December"<?php if ($row[month] == 'December') echo ' selected="selected"'; ?>>December</option>
</select>

通过将所有月份名称放在数组中并使用基本foreach覆盖它们,可以减少重复次数。

答案 2 :(得分:5)

如果您使用MySQL数据库,则可以使用此方法:

include('sql_connect.php');
$result = mysql_query("SELECT * FROM users WHERE `id`!='".$user_id."'");
while ($row = mysql_fetch_array($result))
{
    if ($_GET['to'] == $row['id'])
    {
        $selected = 'selected="selected"';
    }
    else
    {
    $selected = '';
    }
    echo('<option value="'.$row['id'].' '.$selected.'">'.$row['username'].' ('.$row['fname'].' '.substr($row['lname'],0,1).'.)</option>');
}
mysql_close($con);

它将比较$ _GET ['to']中的用户是否与表中的$ row ['id']相同,如果是,则将创建$ selected。这是一个私人消息系统......

答案 3 :(得分:4)

通过使用三元运算符在php中设置选定值

,简单易懂的示例
<?php $plan = array('1' => 'Green','2'=>'Red' ); ?>
<select class="form-control" title="Choose Plan">
<?php foreach ($plan as $id=> $value) { ?>
  <option value="<?php echo $id;?>" <?php echo ($id==  '2') ? ' selected="selected"' : '';?>><?php echo $value;?></option>
<?php } ?>
</select>

答案 4 :(得分:2)

它太旧但我必须添加我的方式:)因为它是通用的,特别是当你使用静态下拉值时。

function selectdCheck($value1,$value2)
   {
     if ($value1 == $value2) 
     {
      echo 'selected="selected"';
     } else 
     {
       echo '';
     }
     return;
   }

在你的下拉选项中你可以像这样使用这个功能,你可以尽可能多地使用它,因为它适合你所有的选择框/下拉列表

<option <?php selectdCheck($row[month],january); ?> value="january">january</option>

:)我希望这个功能可以帮助别人

答案 5 :(得分:1)

简单方法

<select class ="dropdownstyle" name="category" selected="<?php print($messageeditdetails[0]['category_id']); ?>">

<option value=""><?php echo "Select"; ?></option>

<?php  foreach ($dropdowndetails as $dropdowndetails) { ?>
    <option <?php if($messageeditdetails[0]['category_id'] == $dropdowndetails['id']) { ?> selected="<?php echo $dropdowndetails['id']; ?>" <?php } ?> value="<?php echo $dropdowndetails['id']; ?>"><?php echo $dropdowndetails['category_name']; ?></option>
<?php } ?>
</select>

答案 6 :(得分:0)

这是我提出的解决方案......

@IBAction func pushed(_ sender: Any) {
    if let location = locationManager.location {
          let url = URL(string: "https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=\(location.coordinate.latitude),\(location.coordinate.longitude)radius=5000&types=gas_station&key=AIzaSyDVyaidSrF37d0M6XrHvosTXK4z-rkoLDg")!
          // Now do whatever you need to do with the URL, at this point
    }
}

答案 7 :(得分:0)

一个简单的解决方案: 它适用于我

<div class="form-group">
    <label for="mcategory">Select Category</label>
    <select class="form-control" id="mcategory" name="mcategory" required>
        <option value="">Please select category</option>
        <?php foreach ($result_cat as $result): ?>
        <option value="<?php echo $result['name'];?>"<?php 
           if($result['name']==$mcategory){
               echo 'selected';
           } ?>><?php echo $result['name']; ?></option>
                                        }
        <?php endforeach; ?>
    </select>
</div>

答案 8 :(得分:0)

检查:

<select class="form-control" id="department" name="department" type="text">
    <option value="medical-furniture" @if($list->department == "medical-furniture") selected @endif>Medical furniture</option>
    <option value="medical-table" @if($list->department == "medical-table") selected @endif>Medical table</option>
    <option value="service" @if($list->department == "service") selected @endif>Service</option>
</select>

答案 9 :(得分:0)

我的建议是利用hidden / collapse属性。请尝试以下示例:

<select>
    <option value="echo $row[month]" selected disabled hidden><? echo $row[month] ?></option>
    <option value="1">Jan</option>
    <option value="2">Feb</option>
    <option value="3">Mar</option>
</select>

如果$row[month]为null,则所选项目为空白且包含数据,它将包含较少的用于许多选项的代码,并且始终适用于HTML5和引导程序等。

答案 10 :(得分:0)

如果你有一个很大的下降。将 jQuery 与 PHP 结合使用要容易得多。

这是怎么做的:

<script>
$(document).ready(function () {
    $('select[name="country"]').val('<?=$data[0]['Country']?>');
});
</script>

答案 11 :(得分:0)

使用 PHP 在下拉列表中选择选项的最简单解决方案如下

<select class="form-control" name="currency_selling" required >
         <option value="">Select Currency</option>
         <option value="pkr" <?=$selected_currency == 'pkr' ? ' selected="selected"' : '';?> >PKR</option>
      <option value="dollar"  <?=$selected_currency == 'dollar' ? ' selected="selected"' : '';?> >USD</option>
      <option value="pounds"  <?=$selected_currency == 'pounds' ? ' selected="selected"' : '';?> >POUNDS</option>
      <option value="dirham"  <?=$selected_currency == 'dirham' ? ' selected="selected"' : '';?> >DRHM</option>
      </select>

答案 12 :(得分:-4)

您可以在选择标记后尝试此操作:

<option value="yes" selected>yes</option>
<option value="no">no</option>