Использование Rails и Formtastic для создания динамической формы - PullRequest
0 голосов
/ 07 сентября 2011

Я пытаюсь сделать очень простую динамическую форму.Я использую Rails 3.1 и formtastic.По сути, я хочу изменить пару полей на основе переключателя.

Это будет выглядеть примерно так ... Какую форму вы делаете?(Переключатель с выбором квадрата или прямоугольника). Если выбран квадрат, отображается одно новое поле для размера.Если выбран прямоугольник, два поля отображаются для размера.

На самом деле таблица будет иметь только один столбец размера, поэтому модель будет объединять потенциально два поля в одно до того, как в конечном итоге попадет в базу данных (я думаю, что эта проблема также все еще работает)* В любом случае, я понимаю, что мне нужно будет использовать javascript, чтобы изменить форму.Я довольно неграмотный JavaScript и действительно не понимаю, как использовать его с formtastic.Любые указатели помогут.

Спасибо!

1 Ответ

0 голосов
/ 07 сентября 2011

Да, вы должны использовать js для этого. Если вы новичок в js, не стесняйтесь и изучите jQuery , это становится своего рода стандартом 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();
});
...