Изменить значение по умолчанию в поле со списком

Я использую osTicket, и мы хотели бы изменить значение по умолчанию в выпадающем списке.

Это код, где находится поле со списком:

    <tr>
<td width="160">
<?php echo __('Department'); ?>:
</td>
<td>
<select name="deptId">
<option value="" selected >&mdash; <?php echo __('Select Department'); ?>&mdash;</option>
<?php
if($depts=Dept::getDepartments()) {
foreach($depts as $id =>$name) {
echo sprintf('<option value="%d" %s>%s</option>',
$id, ($info['deptId']==$id)?'selected="selected"':'',$name);
}
}
?>
</select>
&nbsp;<font class="error"><?php echo $errors['deptId']; ?></font>
</td>
</tr>

Мне бы хотелось, чтобы по умолчанию было «Неназначено», что является одним из параметров в выпадающем списке:

введите описание изображения здесь

Когда я внес изменение, я снова добавил значение, и оно не сохранилось.

Это мое изменение, которое не сработало правильно:

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

Какие-либо предложения?

0

Решение

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

 <?php
if($depts=Dept::getDepartments()) {
foreach($depts as $id =>$name) {
if($id === $info["deptId"]) {
echo '<option value="$id" selected="selected">$name</option>';
} else
{
echo '<option value="$id">$name</option>';
}

}
}
?>
1

Другие решения

Попробуйте выяснить, каково правильное значение для параметра «Неназначенный».
Вы можете сделать это, просмотрев оригинальный HTML-код. Я подозреваю, что это целое число, как это:

<option value="7">Unassigned</option>

если правильное значение для «Unassigned» относится к примеру «7», вы должны попытаться выяснить, какое значение по умолчанию для $info['deptId'] является. Вы можете сделать это, вставив var_dump($info['deptId']) где-то в вашем php-коде рядом с опубликованным кодом. Я подозреваю, что это пустая строка или NULL. Предполагая, что это пустая строка, вы должны вставить следующий код перед печатью вашего выбора:

if($info['deptId'] == "") {
$info['deptId'] = 7;
}

Из-за оригинальной логики, опция «Unsassigned» должна быть выбрана, если значение $info['deptId'] имеет правильное значение для «Неназначенный». Важный код, который отвечает за это поведение, таков:

($info['deptId']==$id)?'selected="selected"':''
0