簡體   English   中英

回聲默認選擇值

[英]echo default select value

我正在使用的當前腳本具有一種獲取位置的表單,然后提交並確認沒有錯誤后,它將允許用戶在將其更新到數據庫之前使用下一個按鈕。

這樣做的主要原因是要更新地圖,使用戶有機會在繼續之前改變主意。

問題是,我想保留他們已經提交的數據。 通過做這個

                        <div class="col-md-6">
                            <div class="form-group">
                                <label>Country</label>

                                <select class="form-control" name="country" value=<?php if (isset($_POST['locate'])) { echo '"'.$_POST['country'].'"'; } else { echo '""'; } ?> required>
                                    <?php include('includes/country_list.php');?>
                                </select>
                            </div>

                            <div class="form-group">
                                <label>Address</label>
                                <div>
                                    <input type="text" value=<?php if (isset($_POST['locate'])) { echo '"'.$_POST['address'].'"'; } else { echo '""'; } ?> class="form-control" data name="address" data-parsley-required="true" placeholder="First line address, postcode, zip code etc.." data-parsley-trigger="change">
                                </div>
                            </div>                                

                            <div class="form-group">
                                <label>Site Name</label>
                                <div>
                                    <input type="text" value=<?php if (isset($_POST['locate'])) { echo '"'.$_POST['site_name'].'"'; } else { echo '""'; } ?> class="form-control" data name="site_name" data-parsley-required="true" placeholder="//example: Fawley Refinery, Cottam Powerstation.." data-parsley-trigger="change">
                                </div>
                            </div>
                        </div>

問題是,我不想觸摸country_list.php,我想在零件中選擇一個默認值。 但是,我當前使用的東西不起作用。

您完全不需要使用javascript:

<select class="form-control" name="country" required>
    <?php include('includes/country_list.php');?>
</select>

然后,在country_list.php您只需檢查每個國家/地區是否等於$_POST['country'] 我不知道您的格式,但是我猜您正在遍歷一系列國家/地區名稱。 如果沒有,也許你應該是! 嘗試這樣的事情:

foreach ($countries as $country) {
    echo "<option value='$country' ";
    if (!empty($_POST['country'] && $_POST['country'] == $country)) {
        echo 'selected="selected"';
    }
    echo ">$country</country>";
}

問題是,我不想觸摸country_list.php,我想在零件中選擇一個默認值。 但是,我當前使用的東西不起作用。

為了滿足您不修改PHP include的要求,您將需要JS ...類似下面的方法應該起作用。

注意:我正在使值屬性data-value為有效的HTML:

<select class="form-control" name="country" data-value=<?php if (isset($_POST['locate'])) { echo '"'.$_POST['country'].'"'; } else { echo '""'; } ?> required>
    <?php include('includes/country_list.php');?>
</select>

然后,在JS中,使用jQuery,您可以執行以下操作:

$(document).ready( function() {
    var $select = $('select[name=country]'),
        value   = $select.data('value')
    ;
    $select.val(value);
} );

暫無
暫無

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

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