2010-06-06 167 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