我正在尝试使用php(如果不是php,javascript)链接到页面并在链接的末尾包含“?type = foo”或“#foo”,以便在链接页面加载时将从表单的下拉菜单中自动选择特定选项,具体取决于链接的结尾。我试图搜索这个,但不知道这个动作实际上是什么叫,但我以前见过它。有谁知道如何实现这一目标?非常感谢。
答案 0 :(得分:1)
当我在过去创建它们时,为了便于使用,我只是将选定的值插入到选择对象的顶部,而不是滚动整个列表并在遇到它时标记所选的值。
假设该页面被调用为page.php?theSelectedList=Cougar
:
<select name="theSelectList">
<?php
if( isset( $_GET['theSelectList'] ) )
echo '<option selected="selected">'.$_GET['theSelectList'].'</option>';
?>
<option>Aardvark</option>
<option>Baboon</option>
<option>Cougar</option>
<option>Dog</option>
<option>Elephant</option>
</select>
在这种情况下, Cougar 的选项将显示两次 - 一次显示在列表顶部,然后选择,再次在正常位置的列表中再次显示。这可能听起来令人困惑,但是,在我使用它的情况下,它非常直观。
这很简单,但是,我会提到警告,如果选项标签和选项值不同,上面需要一些重新跳转(就像每个选项都有一个数值,但是文本一样)标签
答案 1 :(得分:0)
如果该选项位于<select>
,那么您要查找的名称是selected
属性。它可以应用于每个<option>
标记,如下所示:W3Schools。
使用它你可以简单地使用PHP if语句,例如:
<?php
$options = array('Norway', 'United States', 'Springfield');
echo '<select>';
foreach($options as $country) {
if(array_key_exists('selected', $_GET) && $_GET['selected'] === $country) {
echo '<option selected="selected">'.$country.'</option>';
}
else {
echo '<option>'.$country.'</option>';
}
}
echo '</select>';
如果查询为?country=Norway
,则会在页面加载时选择挪威。
当然也可以使用javascript解决。