更改组合框的默认值
Change default value on a combo box
我正在使用 osTicket,我们想更改组合框的默认值。
这是组合框所在的代码:
<tr>
<td width="160">
<?php echo __('Department'); ?>:
</td>
<td>
<select name="deptId">
<option value="" selected >— <?php echo __('Select Department'); ?>—</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>
<font class="error"><?php echo $errors['deptId']; ?></font>
</td>
</tr>
我希望默认值为 'Unassigned',这是组合框中的选项之一:
当我进行更改时,我最终再次添加了该值,然后它没有保存它。
这是我的更改,但效果不佳:
<option value="" selected >Unassigned</option>
有什么建议吗?
我认为您可以在 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>';
}
}
}
?>
尝试找出 "Unassigned" 选项的正确值是多少。
您可以通过查看原始 HTML-代码来做到这一点。我怀疑它是这样的整数:
<option value="7">Unassigned</option>
如果 "Unassigned" 的正确值对应于表达式“7”,您应该尝试找出 $info['deptId']
的默认值是什么。您可以通过在您的 php 代码中的某处插入一个 var_dump($info['deptId'])
来做到这一点。我怀疑它是一个空字符串或 NULL。假设它是一个空字符串,您应该在打印 select 之前插入以下代码:
if($info['deptId'] == "") {
$info['deptId'] = 7;
}
由于原始逻辑,如果 $info['deptId']
的值具有 "Unassigned" 的正确值,则 "Unsassigned" 选项应该 selected。负责该行为的重要代码是:
($info['deptId']==$id)?'selected="selected"':''
我正在使用 osTicket,我们想更改组合框的默认值。
这是组合框所在的代码:
<tr>
<td width="160">
<?php echo __('Department'); ?>:
</td>
<td>
<select name="deptId">
<option value="" selected >— <?php echo __('Select Department'); ?>—</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>
<font class="error"><?php echo $errors['deptId']; ?></font>
</td>
</tr>
我希望默认值为 'Unassigned',这是组合框中的选项之一:
当我进行更改时,我最终再次添加了该值,然后它没有保存它。
这是我的更改,但效果不佳:
<option value="" selected >Unassigned</option>
有什么建议吗?
我认为您可以在 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>';
}
}
}
?>
尝试找出 "Unassigned" 选项的正确值是多少。 您可以通过查看原始 HTML-代码来做到这一点。我怀疑它是这样的整数:
<option value="7">Unassigned</option>
如果 "Unassigned" 的正确值对应于表达式“7”,您应该尝试找出 $info['deptId']
的默认值是什么。您可以通过在您的 php 代码中的某处插入一个 var_dump($info['deptId'])
来做到这一点。我怀疑它是一个空字符串或 NULL。假设它是一个空字符串,您应该在打印 select 之前插入以下代码:
if($info['deptId'] == "") {
$info['deptId'] = 7;
}
由于原始逻辑,如果 $info['deptId']
的值具有 "Unassigned" 的正确值,则 "Unsassigned" 选项应该 selected。负责该行为的重要代码是:
($info['deptId']==$id)?'selected="selected"':''