2010-06-06 99 views
1

我想使用PHP(如果不是PHP,JavaScript)链接到一个页面,并在链接的末尾包含“?type = foo”或“#foo”这样当链接页面加载时,它将自动从表单的下拉菜单中选择一个特定选项,具体取决于链接的结尾。我试图寻找这个,但不知道这个动作实际上是什么,但我以前看过它。有谁知道如何做到这一点?非常感谢。从链接选择菜单自动选择选项

回答

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> 

在这种情况下,将显示熟女的选项两次 - 一次在列表的顶部,并选择,并且再进一步下跌的列表中的正常位置。这听起来可能令人困惑,但在我使用它的情况下,它非常直观。

这很好,很简单,但是,我会提到警告,如果选项标签和选项值不同(如每个选项都有一个数字值,但是需要一个重新排序)文本标签

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来解决。

+0

mq.chen说的几乎是正确的:查询字符串必须说“?selected = Norway”,例如,如果上面的代码正常工作。 – Sarhanis 2010-06-07 03:15:34

+0

我公然忽略了这一点!我更新了代码来解释这一点。 – mqchen 2010-06-07 08:32:44