编辑时在下拉列表中选择一个值

时间:2011-12-07 12:54:38

标签: php html smarty

我正在添加一项功能来修改用户投放的广告。为此我想要选择用户在输入值时选择的值。我该如何实现呢?

<div class="nm">
  Category
</div>
<div class="fl">
  <select name="category" id = "ad_category" onchange="cangeSubCat(this.value)" >
    <option value="">---Select Category---</option>
    <option value="real_estate">Real Estate</option>
    <option value="hotels_resturants">Hotels and Resturants</option>
    <option value="car">Car Rental</option> 
  </select>
</div>

3 个答案:

答案 0 :(得分:2)

添加selected HTML <option>属性,在XHTML中为selected="selected"

<option value="value" selected>title</option>
                      ^^^^^^^^

文档:http://www.w3.org/TR/html4/interact/forms.html#h-17.6.1

  

我的意思是我怎么知道应该选择哪一个..对于不同的用户来说会有所不同。我想在添加广告时选择哪个用户选择

这取决于您的代码。您可以使用包含所有值/标题对(值=&gt;标题)的数组和所选的值来执行此操作。然后,当key(value)等于所选的一个时,该属性将添加到输出中。因为它是一个数组,所以很容易迭代它。

$otpions = array(
    'a' => 'A',
    'b' => 'B',
);
$selected = 'b';

echo '<select>';
foreach ($options as $value => $title)
{
    printf('<option value="%s" %s>%s</option>', 
           $value, $selected == $value ? 'selected' : '', $title);
}
echo '</select>';

答案 1 :(得分:0)

好吧让我们假设您从db中获取值,并且选择框值在$select变量中然后您要编写

  <option <?php if($select=="real_estate") { echo "selected='selected'"; } ?> value="real_estate">Real Estate</option>
  <option <?php if($select=="hotels_resturants") { echo "selected='selected'"; } ?> value="hotels_resturants">Hotels and Resturants</option>
  <option <?php if($select=="car") { echo "selected='selected'"; } ?> value="car">Car Rental</option>    

答案 2 :(得分:0)

你可以使用这个神奇的功能

function __selectedDb($ctrlValue,$dbValue)
{
    if($ctrlValue == $dbValue)
        return "selected='selected'";
    else
        return "";
}

<select name="category" id = "ad_category" onchange="cangeSubCat(this.value)" >
                        <option value="" <?php echo __selectedDb("","$cat")?>>---Select Category---</option>
                        <option value="real_estate" <?php echo __selectedDb("real_estate","$cat")?>>Real Estate</option>
                         <option value="hotels_resturants" <?php echo __selectedDb("hotels_resturants","$cat")?>>Hotels and Resturants</option>
                         <option value="car" <?php echo __selectedDb("car","$cat")?>>Car Rental</option>    
                    </select>

我在核心php中编写请将php代码转换为smarty