我有一个下拉控件,我希望它默认为基于登录用户的访问权限的特定选项。例如,下拉菜单有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