php - 选择菜单不显示正确的选项

标签 php javascript jquery html

我正在构建我的新网站,并合并了一个选择菜单,以便用户可以对 PHP 显示的结果进行排序,它运行良好,但是每当页面第一次显示时,默认选项始终是页面中的最后一个。代码,因此对于下面的代码,显示的选项是“免费”选项,而它应该是“无”选项。同样使用与上面相同的示例,如果我选择名称选项,结果会正确显示,但是现在框中的选项仍然是免费选项,无论如何我可以将其更改为正在使用的选项。

抱歉,如果这有点令人困惑,因为我有两个类似的问题需要解决。

这是 HTML+PHP 代码。

<form method="get" style="display: inline;" name='orderby_form'>
  <input type=hidden name='param1' value="<?php print $param1; ?>">
  <input type=hidden name='param2' value="<?php print $param2; ?>">
  <select name=orderby onChange="orderby_form.submit();">
    <option value='name' <?php print $selected[$orderby]; ?>>Name</option>
    <option value='difficulty' <?php print $selected[$orderby]; ?>>Difficulty</option>
    <option value='payout' <?php print $selected[$orderby]; ?>>Payout</option>
    <option value='newest' <?php print $selected[$orderby]; ?>>Newest</option>
    <option value='free' <?php print $selected[$orderby]; ?>>Free</option>
    <option> None</option>
  </select>
</form>

这是 PHP 代码:

$selected = array();

$orderby = $_GET[orderby];
if(!$orderby) { $orderby = 'name'; }

if($orderby == 'name') 
{
    $orderby_query = "ORDER BY name";
}
else if($orderby == 'difficulty')
{
    $orderby_query = "ORDER BY difficulty_rating ASC";
}
else if($orderby == 'payout')
{
    $orderby_query = "ORDER BY penny_value DESC";
}
else if($orderby == 'newest')
{
    $orderby_query = "ORDER BY date_added DESC";
}
else if($orderby == 'free')
{
    $orderby_query = "AND free='1'";
}
else { unset($orderby); }

// If $orderby was valid set the selected sort option for the form.

if($orderby)
{
    $selected[$orderby] = 'selected';
}

最佳答案

HTML 中选定的属性需要显示为 ....

尝试更改此设置:

if($orderby){
    $selected[$orderby] = 'selected';
}

收件人:

if($orderby){
    $selected[$orderby] = 'selected="selected"';
}

希望这会有所帮助!

关于php - 选择菜单不显示正确的选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8262900/

相关文章:

javascript - jQuery 的 UI 选项卡的事件监听器?

javascript - 如何从异步调用返回响应?

javascript - 在模态中加载 AJAX 内容并更改 URL

javascript - FullCalendar dayClick 不执行任何操作

php - 如何将数组存储在数据库中?

javascript - 完整的下拉菜单 OnClick

javascript - 我想恢复浏览器默认样式

javascript - jquery-如何仅当用户选择表单中的某些文本时才运行表单中的某些代码

php 删除该字符之前的所有内容

php - 我正在使用 php 作为后端在 android 中进行推送通知。如何将我的 Sql 数据库值检索到 android 中