Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.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
Javascript 从已发布的选择中保存以前的值_Javascript_Php_Jquery_Html_Forms - Fatal编程技术网

Javascript 从已发布的选择中保存以前的值

Javascript 从已发布的选择中保存以前的值,javascript,php,jquery,html,forms,Javascript,Php,Jquery,Html,Forms,我在将两个select传递到$\u POST时遇到问题 我有两个选择,当我从第一个选择发布时,该值未被保存,因此当我从第二个选择发布时不记得第一个选择值,我希望传递第一个选择并保存要选择的值 <form method="post" action="index.php"> <select id="city" name="city" class="styled-select"> <option value="all" selected="selected">all

我在将两个select传递到$\u POST时遇到问题

我有两个选择,当我从第一个选择发布时,该值未被保存,因此当我从第二个选择发布时不记得第一个选择值,我希望传递第一个选择并保存要选择的值

<form method="post" action="index.php">
<select id="city" name="city" class="styled-select">
<option value="all" selected="selected">all</option>
<option value="Van">Vancouver</option>
<option value="vic">Victoria</option>
</form>

<form method="post" action="index.php">
<select id="dept" name="dept" class="styled-select">
<option value="all" selected="selected">all</option>
<option value="1">First</option>
<option value="2">Second</option>
</form>

我注意到您丢失了一些逗号,并且没有传递任何数据。试试这个

$("#city").change(function()
{ 
        var selected = $("#city").find(':selected').val(); 
        $.ajax({ 
            url: "index.php", 
            type: 'POST',
            data: {
                "city": selected
            },
            success: function(data) { 
                console.log("success");
            } 
        }); 
});
此外,您应该能够通过val获取select的值,例如$city.val

对于正常提交:

<form method="post" action="index.php">
<select id="city" name="city" class="styled-select">
<option value="all" <?php echo $_POST['city']==="all" ? "selected" : "" ?>>all</option>
<option value="Van" <?php echo $_POST['city']==="Van" ? "selected" : "" ?>>Vancouver</option>
<option value="vic" <?php echo $_POST['city']==="vic" ? "selected" : "" ?>>Victoria</option>
</form>

你为什么要把它们分开?Barmar有一个理由我也不明白你的jQuery代码在做什么。您不需要更改所选属性,提交表单将发送用户选择的值。因为我希望在更改时提交每个选择,而不是所有选择。是的,我可以直接写入,this.form.submit,但是我的问题是,当我提交第一个选择时,第一个选择值比第二个选择值时没有被保存。他们我已经尝试了,但是没有工作,这个src包括对吗?啊,对不起,忘记了将url设为字符串,请再试一次。您应该检查您的浏览器控制台以检查是否有任何错误。这是最快捷的方法,可以通过代码查看包含是否有效以及其他问题。它会在handleDatadata中给出错误;,我相信它是一个函数,或者不是:只是找到了代码。它在更改select时确实起作用,但没有传递变量。
<form method="post" action="index.php">
<select id="city" name="city" class="styled-select">
<option value="all" <?php echo $_POST['city']==="all" ? "selected" : "" ?>>all</option>
<option value="Van" <?php echo $_POST['city']==="Van" ? "selected" : "" ?>>Vancouver</option>
<option value="vic" <?php echo $_POST['city']==="vic" ? "selected" : "" ?>>Victoria</option>
</form>