提问人:Lesha Pipiev 提问时间:5/15/2012 更新时间:5/15/2012 访问量:1528
Rails 3 Jquery 使 select 标签不显眼
Rails 3 Jquery making select tag unobtrusive
问:
我想让选择更不显眼。
我希望当用户选择特定选项时,jquery会自动发送适当的请求,例如/conroller/action/1
<form id="some-id" method="post" data-remote="true" action="/templates?locale=uk" >
<select id="user-templates" data-remote="true" name="user-templates">
<option href="/controller/action/1" data-remote="true" value="1">option-1</option>
<option href="/controller/action/2" data-remote="true" value="2">option-2</option>
<option href="/controller/action/3" data-remote="true" value="3">option-3</option>
<option href="/controller/action/4" data-remote="true" value="4">option-4</option>
</select>
</form>
但相反,目前它会根据所选选项发送奇怪的请求,例如 http://127.0.0.1:3000/templates?locale=uk&some-id=1。
多谢。
答:
3赞
Pavel Strakhov
5/15/2012
#1
标记没有属性。您的选择是:href
option
方法 1.
<option onclick="location.href = '/controller/action/1'"
data-remote="true" value="1">option-1</option>
方法 2.JavaScript的:
$("#user-templates").change(function() {
location.href = "/controller/action/" + $("#user-templates").val();
});
或者,如果您想在后台发送请求:
$("#user-templates").change(function() {
$.get("/controller/action/" + $("#user-templates").val());
});
评论
0赞
Lesha Pipiev
5/15/2012
你确定这是不显眼的吗?
0赞
Pavel Strakhov
5/15/2012
嗯。你的意思是“不显眼”下的ajax请求吗?我在回答中添加了ajax请求的代码。
0赞
Pavel Strakhov
5/15/2012
这是不可能的,因为 HTML 不支持这种行为。
评论