使用Rails和Formtastic制作动态表单

时间:2011-09-07 09:42:37

标签: javascript ruby-on-rails formtastic

我正在尝试制作一个非常简单的动态表单。我正在使用Rails 3.1和formtastic。基本上,我想根据单选按钮更改几个字段。

它看起来像...... 你在做什么样的形状? (可选择方形或矩形的单选按钮) 如果选择了square,则会显示一个用于大小的新字段。如果选择矩形,则会显示两个字段的大小。

该表实际上只有一个大小的列,因此模型会在最终命中数据库之前将可能的两个字段组合成一个(我认为,仍在处理此问题)

无论如何,我的理解是我需要使用javascript来更改表单。我是非常javascript文盲,真的不明白如何使用它与formtastic。任何指针都会有所帮助。

谢谢!

1 个答案:

答案 0 :(得分:0)

是的,您应该使用js来做到这一点。如果你是js的新手,请不要犹豫并学习jQuery,它现在已成为rails的js标准。

要执行您想要的操作,您应在视图中显示两个大小字段,并根据无线电值显示/隐藏第二个字段。它可以是这样的:

$(function() {
  var $radios = $("input[name=radioName]");
  var $size2 = $("#size_field_2");

  function toggleSizeField() {
    $size2.toggle($radios.filter(":checked").val() == 0);
  }

  $radios.click(toggleSizeField);
  toggleSizeField();
});