簡體   English   中英

記住下拉列表選擇

[英]Remember Dropdown Selection

我的表單上有一些選擇列表,看起來像這樣:

<option value="400000" <?php if($_GET['MaxPrice'] == "400000") { echo("selected"); } ?>>&pound;400,000</option>

如您所見(上面),我那里有一些PHP,告訴表單記住在提交時對其進行選擇。

有沒有一點PHP可以記住每個選擇,而無需我在上面使用相當繁瑣的方法?

提前致謝。

更新:

<select name="MaxPrice" id="MaxPrice">
<option value="9999999" selected>Price (Max)</option>
<option value="100000" <?php if($_GET['MaxPrice'] == "100000") { echo("selected"); } ?>>&pound;100,000</option>
<option value="200000" <?php if($_GET['MaxPrice'] == "200000") { echo("selected"); } ?>>&pound;200,000</option>
<option value="300000" <?php if($_GET['MaxPrice'] == "300000") { echo("selected"); } ?>>&pound;300,000</option>
<option value="400000" <?php if($_GET['MaxPrice'] == "400000") { echo("selected"); } ?>>&pound;400,000</option>
</select>

更新2:是否可以將這種技術實現到某些JavaScript中?

if (BuyRent=='buy')
document.SearchForm.MaxPrice.options[9999999]=new Option("Price (Max)","150000000");
document.SearchForm.MaxPrice.options[100000]=new Option("\u00A3100,000","100000");
document.SearchForm.MaxPrice.options[200000]=new Option("\u00A3200,000","200000");
document.SearchForm.MaxPrice.options[300000]=new Option("\u00A3300,000","300000");
document.SearchForm.MaxPrice.options[400000]=new Option("\u00A3400,000","400000");    

通常,您使用某種循環。 這是一個例子:

$my_values = array(100000, 200000, 300000, 400000);

foreach($my_values as $value) {
    echo "<option value=\"{$value}\"";
    echo ($_GET['MaxPrice'] == $value) ? 'selected="selected"';
    echo ">" . number_format($value, 0, '.', ',') . "</option>";
}

它將打印4個標簽,例如<option value="100000" selected="selected">100,000</option>

這段代碼也使用三元運算符 ,但顯然不是強制性的,如果需要,您可以編寫整個if / else語句。

編輯

<select name="MaxPrice" id="MaxPrice">
    <option value="9999999">Price (Max)</option>
    <?php
    $my_values = array(100000, 200000, 300000, 400000);

    foreach($my_values as $value) {
        echo "<option value=\"{$value}\"";
        echo ($_GET['MaxPrice'] == $value) ? 'selected="selected"' : "";
        echo ">&pound; " . number_format($value, 0, '.', ',') . "</option>";
    }
    ?>
</select>

好問題,這讓我想知道是否存在一個js插件來記住表單字段。 答案似乎是“是!”

暫無
暫無

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

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