簡體   English   中英

HTML選擇基於州的用戶信息

[英]HTML select based off of user info for state

<select name="state" class="input-small" selected="<? if(isset($_SESSION['user'])){ echo $row_login['state']; }?>">
  <option value="AL">AL</option>
  <option value="AK">AK</option>
  <option value="AZ">AZ</option>
  <option value="AR">AR</option>
  <option value="CA">CA</option>

我正在創建用戶配置文件編輯部分,並且需要用戶預選狀態才能顯示為列表默認值。 我該如何設法做到這一點?

最好是不涉及jquery的東西,因為看起來應該有一個簡單的解決方案來解決這個問題。 謝謝!

<select name="state" class="input-small">
<?php

$states = array('AL', 'AK', 'AZ', 'AR', 'CA', 'CO', 'CT', 'DE', 'DC', 'FL', 
'GA', 'HI', 'ID', 'IL', 'IN', 'IA', 'KS', 'KY', 'LA', 'ME', 'MD', 'MA', 'MI', 
'MN', 'MS', 'MO', 'MT', 'NE', 'NV', 'NH', 'NJ', 'NM', 'NY', 'NC', 'ND', 'OH', 
'OK', 'OR', 'PA', 'RI', 'SC', 'SD', 'TN', 'TX', 'UT', 'VT', 'VA', 'WA', 'WV', 
'WI', 'WY');

foreach ($states as $state)
{
    echo '<option ';
    if(isset($_SESSION['user']) && $row_login['state'] == $state)
    {
        echo 'selected="selected" ';
    }
    echo 'value="' . $state . '">' . $state . "</option>\n";
}

?>
</select>

只需用上面的選項列表替換選項列表,它就會動態創建列表然后在打印出每個選項時將檢查該狀態選項是否是用戶擁有的選項。 如果是,那么它將選擇它作為默認值。 比必須執行50次if()語句容易得多。

一個麻煩的方法是,在每個選項上,如果用戶的狀態等於選項的狀態,則選擇回顯。 假設用戶的狀態在$row_login['state']; ,它將是這樣的:

<option value="AL" <?php if($row_login['state'] == "AL") echo " selected "; ?> >AL</option>

並為每個選項做到這一點。 通常你想以一種自動化的方式做到這一點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM