我试图为我的系统创建一个更新表单。基本上,对于更新/编辑,表单应该显示我的$row_rekod[dept']中当前选择的项目(按id)。但在我的情况下,它只显示Jabatan的标题,以及helpline_Jabatan中的其余项目。您可以看到$selected_jabatan用于显示当前所选项目的变量。但它不起作用。
类别(显示在下拉菜单的选项组中)=$dept['kategori_jabatan']列表中显示的所有项目=$dept['jabatan']
<select name="Jabatan" id="Jabatan">
option value="-1" selected="selected" disabled="disabled">Jabatan</option>
<?php
$query_1 = mysql_query("SELECT * FROM helpline_jabatan ORDER BY no_jabatan ASC");
$depts = array();
while($row_1 = mysql_fetch_assoc($query_1)) {
array_push($depts, $row_1);
$selected_jabatan = $row_1['jabatan'] == $row_rekod['dept'] ? ' selected="selected"': '';
echo $selected_jabatan;
}
$dept_type = '';
foreach ($depts as $dept) {
if ($dept_type != $dept['kategori_jabatan']) {
if ($dept_type != '') {
echo '<option></option>';
echo '</optgroup>';
}
echo '<optgroup label="'.ucfirst($dept['kategori_jabatan']).'"';
}
echo '<option value="'.$dept['jabatan'].'" ' .$selected_jabatan.'>'.htmlspecialchars($dept['jabatan']).'</option>';
$dept_type = $dept['kategori_jabatan'];
}
}
if ($dept_type != '') {
echo '</optgroup>';
?>
</select>
查看动态下拉菜单是成功的,但不是它应该在我加载页面时显示我当前所选项目的部分。有什么办法解决这个问题吗?
使用JavaScript很容易,但如果你只懂PHP,你可以做这样的事情。
1) 从数据库中获取select的值
$value = $row['selectFieldName'];
2) 然后切换该值,当它匹配时,创建带有所选选项的select
switch($value):
{
case 'first':
here you create select element with option selected that matches $value;
break;
}
使用JavaScript,您只需在隐藏输入中输出select元素值,并动态地将选项标记为选中,以防它与实际值匹配。