Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.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_Jquery_Html - Fatal编程技术网

Javascript 提交后如何保持下拉列表值

Javascript 提交后如何保持下拉列表值,javascript,jquery,html,Javascript,Jquery,Html,HTML 使用JavaScript创建列表 如何保存提交年份的值?最明显的方法是将$_POST['year']传递给会话或cookie,或将其插入数据库表,并通过PDO或MySQLi命令随时获取特定结果。在PHP中,您可以访问发布的值。在这种情况下,它将以$_POST['Year']、$_GET['Year']或$_REQUEST['Year']的形式出现,因为Year是您选择的名称 问题是select是由javascript而不是PHP构建的。因此,您也需要使用javascript进行设置。因

HTML

使用JavaScript创建列表


如何保存提交年份的值?

最明显的方法是将$_POST['year']传递给会话或cookie,或将其插入数据库表,并通过PDO或MySQLi命令随时获取特定结果。

在PHP中,您可以访问发布的值。在这种情况下,它将以$_POST['Year']、$_GET['Year']或$_REQUEST['Year']的形式出现,因为Year是您选择的名称

问题是select是由javascript而不是PHP构建的。因此,您也需要使用javascript进行设置。因此,您需要将PHP中的数据转换成javascript,这对您有意义吗

因此,您需要做的是使用PHP生成对javascript函数的调用。当浏览器接收并呈现页面时,它将运行javascript并设置值

例如:

$year = $_POST['Year'];
echo( "<script>$('#Year').val('$year')<\script>" );
这将取决于PHP如何输出页面,即您使用的框架等


然而,到目前为止,最简单的解决方案将是在PHP中实际构建select,如果这是一个选项的话。

如果表单是通过GET提交给自己的,那么您可以在列表中设置以下值:

for (var i = new Date().getFullYear(); i > 1900; i--)
{
    $('#Year').append($('<option />').val(i).html(i));
}
if (/[&?]Year=(\d{4})(&|$)/.test(location.search)) {
    var year = RegExp.$1;
    $('#Year').val(year);
}

在JS中,因为查询字符串中有年份,所以抓取它并将其设置为选择框

$('#Year').val(location.search.match(/year=([^&]+)/i)[1]);

你说保留是什么意思?提交后,您可以在php文件中获得正确的值?是的,它使用get传递到php文件。提交后页面url是什么样子?@LShetty@LShetty search.php?searchInput=&srch\u author=&Year=1998&srch\u publisher=&srch\u category=
for (var i = new Date().getFullYear(); i > 1900; i--)
{
    $('#Year').append($('<option />').val(i).html(i));
}
if (/[&?]Year=(\d{4})(&|$)/.test(location.search)) {
    var year = RegExp.$1;
    $('#Year').val(year);
}
$('#Year').val(location.search.match(/year=([^&]+)/i)[1]);