此页它,我希望它的方式:http://www.web-source.net/javascript_redirect_box.htm重定向自动从选择下拉列表中选择一个项目时
但我想找到使用jQuery一个更好的办法,任何人都可以指向我一个很好的使用jQuery来完成这个脚本的脚本?
此页它,我希望它的方式:http://www.web-source.net/javascript_redirect_box.htm重定向自动从选择下拉列表中选择一个项目时
但我想找到使用jQuery一个更好的办法,任何人都可以指向我一个很好的使用jQuery来完成这个脚本的脚本?
您不需要为此打包预先打包的脚本,只需几行代码即可。
// get your select element and listen for a change event on it
$('#selectEl').change(function() {
// set the window's location property to the value of the option the user has selected
window.location = $(this).val();
});
我还没有测试过这个,但我认为它相当于您引用页面上的示例。
$(document).ready(function() {
$('#select').change(function() {
location.href = $(this).val();
});
});
<select id="select">
<option value="#">Select a location</option>
<option value="location.htm">Location</option>
<option value="other.htm">Other</option>
</select>
其他人就如何做到这一点很好的答案,但是......
只是一个警告,即当有人通过键盘导航从其他浏览器手柄选择列表的onChange非常不同。它将每个按键向上/向下键按下为一个onChange事件,这意味着您无法通过键盘浏览重定向选择列表,从而导致无法使用鼠标的用户无法访问。 (其他浏览器在启动onChange之前等待“进入”事件或选择列表中的选项卡)。我花了很长时间试图为此解决方法,并且从未完全解决问题。
我不知道jQuery是否为此负责;希望它,为您的网站的可访问性的缘故。
可能值得让选择列表选择去哪里,然后旁边有一个按钮实际上激活重定向。 (除非你不关心IE用户的可访问性。)
丹尼尔认为,简单的答案是 - 你不应该这样做,这对可用性和可访问性是不利的。
选择列表行为取决于用户的操作系统,浏览器和用户设置(两者)的组合。除此之外,onchange事件并没有在浏览器中以标准方式实现。
无论用户是使用鼠标,键盘还是鼠标滚轮或(语音,屏幕阅读器,无论...),用户都应该能够从选择列表中预期行为。如果你将一个事件绑定到onchange上,它不应该是一个将用户的焦点从选择列表中移除的例如。页面重定向。
(我个人导航网站使用形成键盘了很多,如果发生这种情况我尖叫)
使用jQuery:
$('#selectEl').bind("change keyup",function()
{
// set the window's location property to the
// value of the option the user has selected
window.location = $(this).val();
});
作品的选择和方向键通常变化。
您可能能够使用这个扩展: http://plugins.jquery.com/project/mousewheel 还没有尝试过呢。 :)
还有鼠标选项,您可以添加到绑定()那里。 转到:api.jquery.com/category/events/mouse-events/ 任何函数都有一个名称()在该页面上,你可以在上面的bind()中使用它的名字' 。正如我与 变化()=> '变化' 和MouseUp()=> '鼠标松开' - 易peasy :)
在我看来,还是缺少一个')'? 无论如何...它不是jQuery,但是对于特别的东西来说,使用内联代码段更容易和更简单。
我确实需要类似这样的东西,而不是添加内部值url我添加了我的价值,并使用jQuery中的值使用get中的值:)谢谢 – 2018-02-02 09:33:54