在Rails中更改选择值时加载一个新页面
Loading a new page on changing select value in Rails
我有一个select标签,它加载了10家商店。在改变选择值时,Shop Number应该作为参数传递。我试着在我的html里放一个标签,像这样…
<a href='#' id='wo_selected_shop'>aaa</a>
和在我的脚本
$("#wo_select_shop").change(function() {
var shop_number = $("#wo_select_shop").val();
var url = '/estimate_lookups/select_store?shop_number='+shop_number;
$('#wo_selected_shop').attr('href',url).trigger('click');
});
$('#wo_selected_shop').click(function() {
console.log("A Click");
});
事情是在改变选择标签时控制台工作,并且控制台的href也在改变。但是url没有改变或者页面没有改变…但是如果我手动点击一个标签,它就会改变。我错过了什么?
基本上你所做的是相当复杂的。我为您简化了这段代码。使用窗口而不是触发单击。打开函数。希望它有帮助,这是工作代码
HTML:<select id='wo_select_shop'>
<option>1</option>
<option>2</option>
<option>3</option>
</select>
jQuery: $("#wo_select_shop").change(function() {
var shop_number = $("#wo_select_shop").val();
var url = '/estimate_lookups/select_store?shop_number='+shop_number;
window.open(url);
});
对于awesomestvi
的答案,您需要考虑 turbollinks 在将change
事件绑定到select元素中的作用:
$(document).on("change", "#wo_select_shop", function() {
var shop_number = $("#wo_select_shop").val();
var url = '/estimate_lookups/select_store?shop_number='+shop_number;
//awesomestvi's code here
});
你会有一个问题是涡轮链接往往会阻止JS
绑定发生,当你加载一个新的页面。不可否认,这只会在您单击启用turbolinks
的链接时发生,但这可能对您来说是一个问题,特别是如果您从链接
select
框为了解决Turbolinks
问题,您最好将change
事件处理程序绑定到document
对象(永远不会更改),并将delegating
绑定到选择框
相关文章:
- 在IE11中,点击next或back按钮,使用intro.js打开一个新页面
- 与node.js的get/post混淆,并试图创建一个新页面
- window.打开一个新页面,然后单击新页面中的链接 - JavaScript
- 一个提交按钮打开两个页面 - 一个新窗口中
- 打开一个新页面作为模式窗口
- 滚动到顶部,打开一个带有锚点的新页面
- 调用一个带有HTML字符串的web新页面,以在该窗口中呈现
- 在javascript中使用dblclick事件打开一个新页面
- 在Rails中更改选择值时加载一个新页面
- 重定向到一个没有框架的新页面
- 在JavaFX webview中加载一个新页面
- 在php中按下一个按钮打开一个新页面
- 如何在浏览器中从iframe中加载一个新页面?
- 在新页面上加载一个flash视频,它在上一页上的位置
- 自动加载一个新页面,只访问正文中的一个元素
- 在新窗口中打开一个新页面,打印并关闭它
- 在js中,我正在寻找一个具有可拖动节点的力导向图-单击节点打开新页面
- 页面加载效果-每个新页面从不同的方向滑动(…作为一个单页网站使用scrollTo)
- 在网站退出时打开一个新页面
- 如何从javascript函数在jQuery Mobile中打开一个新页面