如何基于先前的输入动态填充表单

时间:2013-02-20 22:11:26

标签: jquery ruby-on-rails ajax ruby-on-rails-3 padrino

我是RoR / Padrino的新手。我想为表单添加自动文件功能。让我们说当输入用户ID时用户的名字显示在名称字段中。当选择特定用户类型时,下拉菜单仅显示与用户类型匹配的条目。

我需要使用哪种技术? 我读了很多关于jQuery和AJAX的内容,但我真的感到迷失在关于这个“问题”的大量问题中。 有人可以给我一个提示,在哪里以及阅读什么以获得所需的知识?

提前致谢 帕特里克

2 个答案:

答案 0 :(得分:1)

以下是一个例子:

$('#your_model_user_id').on('change', function() {
  $.ajax({url: "/your_model/getname/" +  $(this).val(),type: 'get'});
});

然后在your_model中创建一个动作:

def getname
  @yourmodel = YourModel.find(params[:id])
end

创建路线:

get '/your_model/getname/:id' => 'your_models#getname'

创建文件app / views / your_models / getname.js.erb:

$('#your_model_username')。val('<%= @ yourmodel.name%>');

简而言之

答案 1 :(得分:0)

有几种方法可以做这种事情。

  1. 编写自己的javascript并手动完成所有操作
  2. 使用jQuery Tokeninput
  3. 等库

    这里有一些可能有用的链接:

    http://railscasts.com/episodes/88-dynamic-select-menus

    http://blog.sandeep.me/2011/08/dynamic-select-menus-in-rails-3.html