0

我如何使用 jquery 在 ruby​​ on rails 中做到这一点

编码:

Model
  Subject

View
  <%= text_field_tag :subject_1 %>
  <%= text_field_tag :subject_2 %>
  <%= text_field_tag :subject_3 %>

塞纳里奥:

用户在文本字段(subject_1)上键入主题代码,如果用户转到第一个文本字段(主题_1)旁边的下一个文本字段(主题_2),则会出现一个重新加载图标,然后显示相应的主题详细信息(主题名称,主题代码,主题时间表)基于键入的主题代码。如果主题不存在,它将显示一条消息“主题不存在。”。

4

1 回答 1

0

这个想法是,当AJAX 调用中blur发生事件时,subject1 text_field服务器会尝试查找具有“text_field”给出的 id/description/attribute 的主题记录并返回成功或错误。代码将是这样的:

$('subject_1').blur(function() {
  var field_value = $(this).val();
  $.post("/subjects/validate_subject", field_value, function(data) {
    success: function() {
      // Here you populate the subject_2 text_field with the data from the server.
    },
    error: function() {
      // Here you populate some error content in your view.
    }
  });
});

记得添加validate_subject到你的routes.rb.
这只是您问题答案的开始。我建议您阅读有关 Rails 和 Ajax 交互的内容。
这是这个主题的一个很好的指南。http://www.simonecarletti.com/blog/2010/06/unobtrusive-javascript-in-rails-3/

于 2012-09-12T13:25:30.003 回答