Ребята, у меня есть выпадающий список, который, когда я нажимаю кнопку, я хочу отметить выбранную строку автоматически! мой код пока показан ниже, но я не могу заставить его работать … с '
"
и т.п.
echo "<select id='form' name=form style='width:auto' class='form-control'>
<optgroup label='form_name'>";
foreach($results as $result)
{
$ID = $result->ID;
$name = $result->name;
$address = $result->address;
echo '<option value=$ID '.
**if(isset($_GET['form']) && $_GET['form'] == $ID ){ .' selected="selected" '. } else { .''. }**
.'>'.$ID. ". " .$name. " [" .$address.']</option>';
}
echo "</optgroup>
</select>;
заранее спасибо!!!
Вы можете переписать свой код следующим образом:
echo "<select id='form' name=form style='width:auto' class='form-control'>
<optgroup label='form_name'>";
foreach($results as $result)
{
$ID = $result->ID;
$name = $result->name;
$address = $result->address;
$selected = ( isset($_GET['form']) && $_GET['form'] == $ID ) ? ' selected="selected" ' : '';
echo '<option value=$ID '
. $selected
.'>'.$ID. ". " .$name. " [" .$address.']</option>';
}
echo " </optgroup>
</select>;
Вы должны использовать троичный оператор.
Тернарный оператор — это простое «если тогда еще» только в одной строке.
echo '<select id="form" name="form" style="width:auto" class="form-control">';
echo '<optgroup label="form_name">';
foreach ($results as $result) {
$id = $result->ID;
$name = $result->name;
$address = $result->address;
echo '<option value="' . $id . '" ' . (isset($_GET['form']) && $_GET['form'] == $id ? 'selected="selected"' : '') . '>' . $id . '. ' . $name . ' [' . $address . ']</option>';
}
echo '</optgroup>';
echo '</select>';