簡體   English   中英

具有動態下拉菜單和optgroup的PHP更新表單

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM