使用select有一个下拉列表
<%= select("array","folder",@rows.keys,{},:onchange =>"?" )%>
有部分称为“形式”
<%= render "form"%>
每当选择发生变化时,我都需要渲染部分.如果有办法,请告诉我.我发现远程功能已从rails 3.0弃用.我在这里看到了所有可能的链接onchange和select标签,但找不到合适的答案.我是rails,jQuery和Ajax的新手.请帮忙
谢谢
解决方法
为什么不在同一页面中呈现表单并隐藏并在选择标记的更改时显示它
<html> <body> <!-- Your Select tag --> <select id="select_id"> <option value="one" selected> One </option> <option value="two"> Two </option> </select> <!-- Here your a div inside with your form is placed --> <div id="myform" style="display:none"> <form action="/someurl"> .. .. </form> <!-- JQuery code to show the form --> <script type="text/javascript"> $(document).ready(function() { $("select#select_id").bind("change",function() { if ($(this).val() == "one") $("div#myform").show(); else $("div#myform").hide(); }) }) </script> </html>
我还想做一个ajax请求我也很简单
$(document).ready(function() { $("select#select_id").bind("change",function() { if ($(this).val() == "one") { $.ajax({ url : "/form_url",data : "html",type: "GET",success : function(data) { $("div#myform").html(data) } }) }) })
在服务器端,您需要使用format.js响应ajax请求并使用render命令呈现模板或仅定义.js.erb文件