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