![](/img/trans.png)
[英]By selecting an option from the select menu how to force another select menu to automatically load a specific option?
[英]Automatically select option from select menu with link
我正在嘗試使用php(如果不是php,則是javascript)鏈接到頁面,並在鏈接末尾包含“?type = foo”或“ #foo”,以便在加載鏈接的頁面時自動選擇表單中的下拉菜單中的特定選項,具體取決於鏈接的結尾。 我嘗試搜索此操作,但不知道此操作的實際含義,但是我之前已經看過它。 有誰知道如何實現這一目標? 非常感謝。
過去創建這些變量時,為了易於使用,我只是將選擇的值插入到select對象的頂部,而不是滾動瀏覽整個列表並在遇到時將其標記為原來的樣子。
假設頁面的名稱類似於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的選項將顯示兩次-一次在列表頂部並被選中,然后再次在常規位置的列表中向下移動。 這聽起來可能令人困惑,但是在我使用過的實例中,它非常直觀。
很好而且很簡單,但是,我要提醒一下,如果“選項標簽”和“選項值”不同(例如,每個選項都有一個數字值,但有一個文本標簽),則上述操作需要重新調整。
如果選項在<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
則在頁面加載時將選擇Norweg。
當然也可以使用javascript解決。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.