我正在尝试制作一个非常简单的动态表单。我正在使用Rails 3.1和formtastic。基本上,我想根据单选按钮更改几个字段。
它看起来像...... 你在做什么样的形状? (可选择方形或矩形的单选按钮) 如果选择了square,则会显示一个用于大小的新字段。如果选择矩形,则会显示两个字段的大小。
该表实际上只有一个大小的列,因此模型会在最终命中数据库之前将可能的两个字段组合成一个(我认为,仍在处理此问题)
无论如何,我的理解是我需要使用javascript来更改表单。我是非常javascript文盲,真的不明白如何使用它与formtastic。任何指针都会有所帮助。
谢谢!
答案 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();
});