[英]Using Javascript in Ruby on Rails
我有一个下拉列表,您可以在其中选择一个人。
<%= select_tag "person", options_from_collection_for_select(Person.all, :id, :name, 1) %>
选择一个人后,我要显示该人的电话号码。 我怎样才能做到这一点?
看了很多有关如何在RoR中使用Javascript / jQuery / CoffeeScript的解决方案后,我对在文件中放置什么以及使用什么感到有些困惑。 有人可以给我一个简单的例子吗?
在onchange事件中将您的已更改人员ID传递给javascript函数。
<%= select_tag "person", options_from_collection_for_select(Person.all, :id, :name, 1) ,
:onchange => "your_js_function_to_display_phone_for(this.value)"%>
触发Ajax请求并从数据库返回电话号码。 (如果人员列表很小,您也可以从客户端执行此操作)
<script type="text/javascript">
function your_js_function_to_display_phone_for(person_id)
{
// Given a person_id
// I am assuming this route will return me the Phone Number
new Ajax.Request('/person/get_phone_number/'+person_id,
{asynchronous:true, evalScripts:true,
method:'post',
onSuccess:function(request)
{
// Modify this place to whether update on particular div_id
// or do appropriate action with returned request.body
alert("Phone Number for this Person is: "+request.body);
},
parameters:Form.serialize(this)});
}
</script>
编辑:
您的控制器应执行以下操作。
class PersonController
def get_phone_number
person = Person.find(params[:id])
phone_number = person.get_phone_number
render :text => phone_number
end
end
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.