Javascript 模拟“选择”菜单中选项项的人工选择

Javascript 模拟“选择”菜单中选项项的人工选择,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,我有一点脚本,技术上可行。它本质上侦听URL上的标签,并使用与标签匹配的选项值更新选择菜单。它在页面加载时工作,不关心标签如何更新,只关心它是如何更新的。完美的 问题是,我在该页面上有很多其他脚本,它们在您选择选项项时会起作用,当您手动选择选项项时,它们都会起作用,但当我使用下面的脚本自动选择选项项时,不会触发任何动作。在这种情况下,我如何实际模拟人类选择?有什么想法吗 $document.readyfunction{ addEventListener'hashchange',fn,false

我有一点脚本,技术上可行。它本质上侦听URL上的标签,并使用与标签匹配的选项值更新选择菜单。它在页面加载时工作,不关心标签如何更新,只关心它是如何更新的。完美的

问题是,我在该页面上有很多其他脚本,它们在您选择选项项时会起作用,当您手动选择选项项时,它们都会起作用,但当我使用下面的脚本自动选择选项项时,不会触发任何动作。在这种情况下,我如何实际模拟人类选择?有什么想法吗

$document.readyfunction{ addEventListener'hashchange',fn,false; window.onload=fn;//在页面加载时触发 功能fn{ document.getElementById'select-two'。值= window.location.hash.replace,; } }; 喷气式飞机 奶油 巧克力 经典红色 您可以使用jQuery的change函数来检测select元素的选定值何时更改,并在更改时执行代码


因为您使用的是jQuery,所以可以使用.triggereventName方法在元素上启动特定事件

例如,您可以设置该值并使事件按如下方式触发:

$("#select-two").val(window.location.hash.replace('#','')).trigger("change");

你说的模拟人类选择是什么意思?因为为了更改值,您只需使用以下命令,并且应该在JSFIDLE上测试:$document.readyfunction{document.getElementById'select-two'。value='Blush';};我在页面上还有其他脚本,当手动从选择下拉列表中进行选择时,这些脚本会运行函数。但是,不会检测到基于标签的自动选择,也不会触发与选择更改相关的任何函数。基于OP代码的小示例可能会有帮助。谢谢Yossif,这正是我需要走的方向。我将另一个答案标记为正确答案,因为它包含了一个与我的需求直接相关的示例。但我只是想感谢你的指导,谢谢你!这很有魅力。我学到了一些东西,非常棒。我已经用JS的代码片段更新了我的帖子,现在可以正常工作了。