我有一個下拉控件,我希望它默認爲基於登錄用戶的訪問權限的特定選項。例如,下拉菜單有10個選項,但只有管理員才能查看全部10個選項。但大多數用戶只能訪問其中的一個選項。根據下拉列表的值是否爲空來隱藏/顯示頁面內容。如何設置基於登錄用戶的下拉菜單默認選擇
問題:使用上面的例子,如果一個管理員登錄,我需要下拉默認爲「選擇一個選項」。這樣頁面內容就隱藏起來了。另一方面,如果只有1的訪問權限的用戶登錄,我需要它默認爲1.這樣他們不必選擇任何內容,默認情況下顯示頁面內容。我如何去做這件事?
下面是我當前的代碼,它處理下拉菜單根據選擇時間顯示的內容。
PHP/HTML
// Hide/Show main content div
<?php
if (isset($_GET['src'])) {
$src = $_GET['src'];
} else {
?>
<style>
#divmain { display: none; }
</style>
}
<?php } ?>
// Start of form, header, etc.
<select name="select1" id="select1">
<?php
$sql = getOptions();
$data = makeConnection($sql);
if ($src == null) { // If value is null, default to 'Select an option'
echo "<option selected value=\"\" disabled=\"disabled\">--Select an option--</option>";
while ($row = odbc_fetch_array($db)) {
echo "<option value=\"".$row['content']."\">".$row['content']."</option>";
}
} else { // If value not null keep the selected value selected
while ($row = odbc_fetch_array($db)) {
if ($row['content'] == $src) { $selected = " selected "; }
else { $selected = " "; }
echo "<option value=\"".$row['content']."\" ".$selected.">".$row['content']."</option>";
}
}
?>
</select>
JS
// Pass selected value on change
$('#select1').change(function() {
var sel = $(this).val();
location.href = "page1.php?src=" + sel;
}
SQL
// Hardcoding user for testing purposes, THIS WILL BE CHANGED
function getOptions() {
$results = "SELECT content, userid FROM table WHERE userid = 'username'";
return $results;
}
任何幫助非常感謝,請讓我知道如果我不清楚任何事情。
你的代碼面臨什麼問題? –
現在,無論用戶擁有什麼訪問權限,我的下拉菜單默認爲「選擇一個選項」。如果用戶只能訪問一個選項,則應默認爲該選項。如果用戶有權訪問多個選項,則應該默認爲「選擇一個選項」。 – Brian
您在「選擇選項」部分中有一個空白的「選定」屬性,這會導致它始終被選中,因爲它是第一個具有選定屬性的選擇。 – casraf