Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 提交表单后,如何保留jquery填充的元素和值?_Php_Jquery_Forms - Fatal编程技术网

Php 提交表单后,如何保留jquery填充的元素和值?

Php 提交表单后,如何保留jquery填充的元素和值?,php,jquery,forms,Php,Jquery,Forms,我的表单中有一个下拉列表,其中包含两个选项。用户名和城市。如果有人选择用户名,Jquery将动态添加2个用户名选项。同样,如果选择城市,将添加2个城市选项 这很好,但是动态添加下拉列表,一旦表单通过PHP提交到服务器,所选值就会消失。即使在提交表单后,我也需要保留上次选择的状态。我如何做到这一点 例如,假设有人选择城市,然后他选择科伦坡作为城市选项。提交表格后,我希望表格保留选中的City&Colombo <!DOCTYPE html> <html> <head&g

我的表单中有一个下拉列表,其中包含两个选项。用户名和城市。如果有人选择用户名,Jquery将动态添加2个用户名选项。同样,如果选择城市,将添加2个城市选项

这很好,但是动态添加下拉列表,一旦表单通过PHP提交到服务器,所选值就会消失。即使在提交表单后,我也需要保留上次选择的状态。我如何做到这一点

例如,假设有人选择城市,然后他选择科伦坡作为城市选项。提交表格后,我希望表格保留选中的City&Colombo

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Basic</title>
</head>
<body>
    <form method="post" action="post_jquery_element.php">
        <select name="choice" id="choice">
            <option value="">Select</option>
            <option value="username">Username</option>
            <option value="city">City</option>

        </select>
        <span id="update"></span>
        <input type="submit" name="submit" id="submit" value="Submit">
    </form>


    <script src="jquery-1.11.0.js"></script> 
    <script>
        $(function(){
            $("#choice").change(function(){
                var value=$("#choice").val();
                if(value==="username"){
                    var output="<select name='username' id='username'>";
                    output+="<option>Mike</option>";
                    output+="<option>John</option>";
                    output+="</select>";
                    $("#update").html(output);
                }else if (value==="city") {
                    var output="<select name='city' id='city'>";
                    output+="<option>NY</option>";
                    output+="<option>Colombo</option>";
                    output+="</select>";
                    $("#update").html(output);
                }

            });



        });



    </script>
</body>
</html>

您可以使用ajax提交表单,也可以使用任何持久数据客户端作为cookie/本地或会话存储,并设置一些逻辑,以便在不再需要时删除持久数据。现在这取决于您的用例。您甚至可以让服务器端脚本根据作为参数传递给它的内容返回特定数据。也许我错过了其他一些方法。事实上,我认为这个问题太宽泛了,或者在将表单提交给php时使用会话,然后在php中这样做$\u SESSION=$\u POST这将在会话中存储所有POST值。你必须像这样写你的表单@A.Wolff-I从一个db表中检索数据,它匹配那些选择的参数并显示它们。我将尝试使用ajax@user790454——我们可以使用jquery会话吗。我的意思是选项都列在