сделать значение, выбранное в раскрывающемся списке при редактировании - PullRequest
1 голос
/ 07 декабря 2011

Я добавляю функцию для редактирования рекламы, которую размещает пользователь.Для этого я хочу сделать значение, выбранное пользователем, когда он ввел значения.Как я могу это реализовать?

<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 ]

2 голосов
/ 07 декабря 2011

Добавьте атрибут 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

Я имею в виду, как я будузнать, какой из них должен быть выбран .. это будет отличаться для разных пользователей.Я не хочу выбирать, какой пользователь выбирает при добавлении объявления

Это зависит от вашего кода.Это можно сделать с помощью массива со всеми парами значение / заголовок (значение => заголовок) и выбранным значением.Затем, когда ключ (значение) равен выбранному, атрибут добавляется в вывод.Поскольку это массив, его легко перебирать.

$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>';
0 голосов
/ 07 декабря 2011

Вы можете использовать эту магическую функцию

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

0 голосов
/ 07 декабря 2011

хорошо, давайте предположим, что вы выбираете значение из дБ, а значение поля выбора находится в переменной $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>    
...