Направляющие: отправьте (через Ajax), когда выпадающая опция нажала

Вы можете использовать функции isnan и isinf.

Для создания чисел inf и -inf вы можете использовать 1.0 / 0.0 (должен давать inf) и -1.0 / 0.0 (должен давать -inf).

Пример:

#include <stdio.h>
#include <math.h>
int main() {
  double x = 1.0/0.0;
  double y = -1.0/0.0;
  double z = sqrt(-1.0);
  printf("x = %f\n", x);
  printf("y = %f\n", y);
  printf("isinf(x) = %d\n", isinf(x));
  printf("isinf(y) = %d\n", isinf(y));
  printf("isnan(x) = %d\n", isnan(x));
  printf("isnan(z) = %d\n", isnan(z));
}
12
задан Adam Rezich 25 February 2009 в 16:35
поделиться

3 ответа

Существует пара способов обработать это. Конечно, наблюдать полевой подход один, но Вы могли также использовать простой JavaScript или remote_function, чтобы сделать это:

Вот простой подход JS:

<% remote_form_for membership do |f| %>
    <%= f.select :permissions, [['none', 0], ['admin', 9]], {}, :onchange => 'this.form.submit()' %>
<% end %>

Другой путь был бы чем-то вроде этого и будет сторониться конструктора форм (и это может иметь пару синтаксических ошибок):

<%= select_tag(:permissions, [['none', 0], ['admin', 9]], {:onchange => "#{remote_function(:url  => permissions_path(:story_id => story,
             :with => "'permission='+value")}"})

Лично я предпочитаю первого.

15
ответ дан 2 December 2019 в 05:42
поделиться

Три шага!

  1. Сделайте Ваш form_for a remote_form_for; добавьте идентификатор!
  2. Добавьте observe_field после Вашего select
  3. Настройте Ваш observe_field отправлять Вашу форму

Последний бит смотрит что-то как:

<%= observe_field "id_of_select", :function => "$('form_id').submit();" %>
4
ответ дан 2 December 2019 в 05:42
поделиться

Изучите, как сделать это без направляющих с помощью платформы по Вашему выбору. Используя теги направляющих для выполнения Ajax может выполнить задачу быстро, но может очень ограничивать, когда необходимо изменить определенные вещи о том, как тег работает.

Читайте о веб-стандартах и как записать незаметный JavaScript на этих сайтах: http://ajaxian.com/ http://www.alistapart.com/

Вы сможете создать более гибкий, удивительный UIs путем изучения, как выполнить Ajax без направляющих.

3
ответ дан 2 December 2019 в 05:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: