2014-07-11 55 views
0

我在表單中列出了每個國家/地區的國家/地區列表以獲取包裹報價。國家/地區列表選擇框 - 設置爲選中的一個

當用戶按下「獲取報價」按鈕時,所有文本表單保留了以前使用PHP輸入的信息。

我怎樣才能做到這一點與國家列表框?由於我不能在每個選項上檢查PHP是否選擇了國家並向HTML中添加「選定」選項。

除了從循環中的文件生成國家列表之外,還有更好的方法嗎?

編輯:

去爲通過文件循環,並檢查.. 的方法,這是我到目前爲止有:

$countries = fopen("includes/countries.txt", "r"); 
$countries = explode(";", $countries); 

然後在HTML:

<select id="countries" name="countries"> 
<?php 
    foreach ($countries as $country){ 
     echo("<option value=\"" . $country . "\">" . $country . "</option>"); 
    } 

?> 
</select> 

尚未完成。

+2

可以使六國的數組,然後使用的foreach,通過國家加入他們在選擇框中 – Khushboo

+1

環路和回聲選擇相匹配的國家。這是做到這一點的最佳方式。 –

+0

謝謝。我決定這樣做。國家列表在一個文本文件中,然後加載文件,循環瀏覽。再次感謝。 – MRC

回答

0

我假設你有一個數組與你的國家存儲。你可以嘗試這樣的事:

$countries = array('Albania', 'Egypt'); 
$selected_country_id = $_GET['c_id']; // You may need to change this to match with your code 
$country_selected = array(); 

foreach($countries as $country) { 
    if($country['id'] == $selected_country_id) { 
     $country_selected[ $country['id'] ] = ' selected '; 
    } else { 
     $country_selected[ $country['id'] ] = ''; 
    } 
} 

然後,假設你動態地添加你選擇的選項,這樣做:

// In your each-fn 

echo '<option value="' . $country['id'] . '" ' . $country_selected[ $country['id'] ] . '>' . $country['name'] . '</option>'; 
0

像這樣的事情會更好

foreach ($countries as $country) { 
    ?> 
    <option value="<?php echo $country" <?php echo ($country == $_POST['country'] ? 'selected' : ''; ?>><?php echo $country; ?></option> 
    <?php 

} 
0
<select id="countries" name="countries"> 
    <?php 
     foreach ($countries as $country){ 
      if(isset($_POST["country"]) && $_POST["country"] == $country){ 
       $sel = "selected"; 
      }else { $sel= ""; } 
      echo("<option value=\"" . $country . "\"" .$sel.">" . $country . "</option>"); 
     } 

    ?> 
    </select> 
0

Get All Country-State-City Selectbox .... !!!

見鏈接:GitHub

相關問題