Javascript 提交后如何保持下拉列表值
HTML 使用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进行设置。因
如何保存提交年份的值?最明显的方法是将$_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]);