[英]PHP update form that have dynamic drop down menu and also optgroup
我嘗試為我的系統創建一個更新表格。 基本上,對於更新/編輯,表單應該顯示我的$ row_rekod [dept']中當前選擇的項(按ID) ; 。 但就我而言,它僅顯示標題Jabatan ,以及helpline_jabatan表中的其余項目。 您可以看到$ selected_jabatan變量,該變量用於顯示當前所選項目。 但是它不起作用。
類別(在下拉菜單的optgroup中顯示)= $ 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)從數據庫中獲取選擇值
$value = $row['selectFieldName'];
2)然后切換此值,並在匹配時使用選擇的選項創建select
switch($value):
{
case 'first':
here you create select element with option selected that matches $value;
break;
}
使用JavaScript,您只需在隱藏的輸入中輸出選擇元素值,並在選項與實際值匹配的情況下將其動態標記為選中狀態。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.