1

我的页面上有一个名为 的下拉选择language,它是一个包含其他元素的表单。当表单正常提交(提交所有内容)时,我可以使用params[:langauge].

我在页面上有另一个链接/按钮,单击该链接/按钮时,应该获取语言的值并将其传递给控制器​​。然后控制器可以运行一些 ajax 来更改页面上的语言。但是我如何通过链接传递(只是)下拉列表的值?

更新:我应该使用 Jquery 获得价值,还是有更简单的方法?

 $('select[name="language"]').val()
4

2 回答 2

1

如果那是一个链接,唯一的使用方法是查询字符串

<a href="controller/method?lan=something">that link</a>

您可以通过 JS 获取该链接的“href”,然后使用此方法更新查询字符串。

然后该方法将能够使用正确的参数进行处理。

如果那是一个按钮,这意味着一个迷你表单,您可以在表单内设置一个隐藏字段并使用 jQuery 更新其值。发送时,控制器方法将知道该值。

于 2013-05-23T18:00:13.977 回答
0

每当更改下拉值时,此 javascript 代码应更新 URL。

$(function() {
$('#link-button').attr("href", "/link_path/" +$(this).val())
    $("select#language").change(function() {
        $('#link-button').attr("href", "/link_path/" +$(this).val())
    });
});
于 2013-05-23T20:21:00.760 回答