Javascript 通过在不同页面上单击链接更改表单选择字段

Javascript 通过在不同页面上单击链接更改表单选择字段,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,我有一个服务页面,该页面链接到带有表单的约会页面,我希望所选服务在下拉列表中更改为所选的正确服务 我能找到的一个类似问题的唯一解决办法是下面的答案。但是,当表单位于单独的页面上时,它似乎不起作用。当我将表单复制到同一页面并使用锚定到页面底部时,它将更改字段,但是当使用指向其他页面的链接时,它不会更改字段。我假设这是因为它在另一页上,但是我无法找到关于这种情况的更多信息 我已经包含了这段代码的副本,我相信我已经包含了每个部分的相关片段 在两个页眉上声明脚本: 服务页面上HTML链接中的代码: 来

我有一个服务页面,该页面链接到带有表单的约会页面,我希望所选服务在下拉列表中更改为所选的正确服务

我能找到的一个类似问题的唯一解决办法是下面的答案。但是,当表单位于单独的页面上时,它似乎不起作用。当我将表单复制到同一页面并使用锚定到页面底部时,它将更改字段,但是当使用指向其他页面的链接时,它不会更改字段。我假设这是因为它在另一页上,但是我无法找到关于这种情况的更多信息

我已经包含了这段代码的副本,我相信我已经包含了每个部分的相关片段

在两个页眉上声明脚本:

服务页面上HTML链接中的代码:

来自JS的代码:

var$select=$'package'; $'a[href=BookAppointment.html]'。单击函数{ $select.val$this.data'select'; }; 来自预约表的代码未列出更多选项:

外部清洗 青铜
提前感谢您的帮助。

如果您将所有元素(尤其是元素)嵌入到同一页面中,那么您的代码实际上可以工作,因为您的JS代码是在页面范围内执行的。因此,您可以在点击a href元素时更改选择值

为了使数据选择值在BookAppointment.html页面中可用,应将其值向前移到该页面。 总之,当您点击services.html页面中的a href元素时,数据选择值将通过JavaScript进行处理,并封装为查询参数,然后重定向到BookAppointment.html页面

现在,假设您的services.html页面如下所示。请注意新的service-script.js: 在service-script.js文件中,您将捕获a href上的用户单击事件,然后像以前一样检索数据选择值。新的部分是在您将重定向到的html引用中引入该值: $document.readyfunction{ $'a[href=BookAppointment.html]'。单击函数e{ e、 防止违约; var data=$this.data'select'; window.location=$this.attr'href'+'?selectParam='+escapedata; }; }; 现在,您必须将块移动到BookAppointment.html页面注意新的book-appointment-script.js: 外部清洗 青铜 在book-appointment-script.js文件中,您将捕获selectParam查询参数并基于该参数更新选择选项: $document.readyfunction{ var selectData=unescapewindow.location.search.substring1.split'='[1]; var$select=$'package'; $select.val selectData; };
您可能需要转义和取消转义html特殊字符,因为这只是一个简单的示例。

服务器端使用了什么技术?目前正在运行本地测试,从yetSo开始还没有上传到服务器,当你升级到真正的服务器应用程序时,这将相当于评估你的情况,因为没有办法让html页面一起通信。您的需求只能通过请求参数来满足基础技术。很抱歉,我对您所指的服务器应用程序感到困惑。这是我的托管公司提供的,还是我自己上传到服务器上的。不,你现在尝试的是编写一个简单的客户端应用程序,对吗?只是简单的页面,里面有JS和CSS。为了满足您的需要,data属性应该作为请求参数转发,并由yout后端处理。这可以通过简单的html代码来实现,但前提是这对您来说足够公平。我将提供答案我已尝试进行所列的更改,但现在从任何服务或菜单加载Bookappointment.html时,选择字段为空,未选择任何选项。我已更新了我的答案,抱歉误导您。我已经更新了要包装在$document.ready函数中的第一个JS正文,并添加了代码段以防止默认href重定向。Alson在第二个脚本中修复了重定向URL,并添加了escape/unescape语句,因为第一个版本适用于第二个参数Exterior Wash。你我的朋友,我可以吻你-这就解决了问题-非常感谢你的帮助和解释。我对JavaScript/JQuery还是非常陌生,我甚至不想去想自己需要多长时间才能弄明白这一点;我试过了,但我仍然没有得到15个这样的声誉:-我选择了它,并将尽快投票