我的页面上有一个名为language
的下拉列表选项,其中包含其他元素。当表单正常提交(提交所有内容)时,我可以使用params[:langauge]
访问下拉列表的值。
我在页面上有另一个链接/按钮,当点击它时,应该获得语言的值并将其传递给控制器。然后控制器可以运行一些ajax来更改页面上的语言。但是如何通过链接传递(仅)下拉列表的值?
更新: 我应该用Jquery获取值,还是有更简单的方法?
$('select[name="language"]').val()
答案 0 :(得分:1)
如果这是一个链接,唯一使用的方法是查询字符串
<a href="controller/method?lan=something">that link</a>
您可以通过JS获取该链接的“href”,然后使用this method更新查询字符串。
然后该方法将能够处理正确的参数。
如果这是一个按钮,这意味着一个迷你形式,你可以在表单中设置一个隐藏字段,并使用jQuery来更新它的值。发送时,控制器方法将知道该值。
答案 1 :(得分:0)
每当下拉值发生变化时,此javascript代码都应更新URL。
$(function() {
$('#link-button').attr("href", "/link_path/" +$(this).val())
$("select#language").change(function() {
$('#link-button').attr("href", "/link_path/" +$(this).val())
});
});