在php中保留选定的选项

时间:2017-05-06 04:37:15

标签: php forms select

我有一个下拉选择表单,我需要它才能使它在每次保存时都保持相同的选项。

所以我想要的是当我从下拉列表中选择一个选项时,当我提交表单并再次回到表单时,它保持不变。

https://hastebin.com/zafoxexoja.vbs

我已经在谷歌上尝试了一些东西,但似乎没有用。

2 个答案:

答案 0 :(得分:0)

只需传递您希望默认选择的选项内的Original Formats,如:

PNG

Working Fiddle

答案 1 :(得分:0)

会话将帮助你。你应该试试看。它会帮助你。 下面是你的主页,如index.php

<?php
session_start();
?>
<select id="editlength" name="editlength" class="form-control">
    <option value="1 Day" <?php if(isset($_SESSION['editlength']) && $_SESSION['editlength'] == '1 Day') { ?> selected <?php } ?>>1 Day</option>
    <option value="2 Days" <?php if(isset($_SESSION['editlength']) && $_SESSION['editlength'] == '2 Days') { ?> selected <?php } ?>>2 Days</option>
    <option value="3 Days" <?php if(isset($_SESSION['editlength']) && $_SESSION['editlength'] == '3 Days') { ?> selected <?php } ?>>3 Days</option>
    <option value="4 Days" <?php if(isset($_SESSION['editlength']) && $_SESSION['editlength'] == '4 Days') { ?> selected <?php } ?>>4 Days</option>
    <option value="5 Days" <?php if(isset($_SESSION['editlength']) && $_SESSION['editlength'] == '5 Days') { ?> selected <?php } ?>>5 Days</option>
    <option value="6 Days" <?php if(isset($_SESSION['editlength']) && $_SESSION['editlength'] == '6 Days') { ?> selected <?php } ?>>6 Days</option>
    <option value="10 Days" <?php if(isset($_SESSION['editlength']) && $_SESSION['editlength'] == '10 Days') { ?> selected <?php } ?>>10 Days</option>
    <option value="1 Week" <?php if(isset($_SESSION['editlength']) && $_SESSION['editlength'] == '1 Week') { ?> selected <?php } ?>>1 Week</option>
    <option value="2 Weeks" <?php if(isset($_SESSION['editlength']) &&$_SESSION['editlength'] == '2 Weeks') { ?> selected <?php } ?>>2 Weeks</option>
    <option value="3 Weeks" <?php if(isset($_SESSION['editlength']) && $_SESSION['editlength'] == '3 Weeks') { ?> selected <?php } ?>>3 Weeks</option>
    <option value="1 Month" <?php if(isset($_SESSION['editlength']) && $_SESSION['editlength'] == '1 Month') { ?> selected <?php } ?>>1 Month</option>
    <option value="2 Months" <?php if(isset($_SESSION['editlength']) && $_SESSION['editlength'] == '2 Months') { ?> selected <?php } ?>>2 Months</option>
    <option value="3 Months" <?php if(isset($_SESSION['editlength']) && $_SESSION['editlength'] == '3 Months') { ?> selected <?php } ?>>3 Months</option>
    <option value="4 Months" <?php if(isset($_SESSION['editlength']) && $_SESSION['editlength'] == '4 Months') { ?> selected <?php } ?>>4 Months</option>
    <option value="5 Months" <?php if(isset($_SESSION['editlength']) && $_SESSION['editlength'] == '5 Months') { ?> selected <?php } ?>>5 Months</option> 
</select>

ajax调用的Javscript把它放在你的主页上:

<script>
$(document).ready(function(){
    $('#editlength').on('change', function() {
      var val = jQuery("#editlength").val();
      $.ajax({
            url: "store_editlength.php",
            data: { editlength: val },
            type: 'POST',
            success: function (data) {
                // here no need of response
            }
        });

    });
});
</script>

store_editlength.php

<?php
session_start();
if (isset($_POST['editlength']) && $_POST['editlength'] != '') {
 $_SESSION['editlength'] = $_POST['editlength'];
}
?>