2012-07-13 2 views
0

У меня есть модель foo в моем приложении rails, а на индексной странице все foos перечислены в таблице. Каждый foo имеет 2 целочисленных свойства: quarto и jesolo.Rails - обрабатывать несколько динамических полей с помощью ajax

enter image description here

Я даю разные идентификаторы для полей HTML чисел, следующим образом:

Foo # 1

первое поле: foo1_quarto

2ст поле: foo1_jesolo

foo # 2

первого поля: foo2_quarto

2ст поле: foo2_jesolo

ЕСС ...

На данный момент я использую следующий код Ajax (написанный на кофе сценарий), чтобы сделать пользователю вход на foo1_quarto отражается также в foo1_jesolo:

$("#foo1_quarto").keyup -> 
    a = parseInt document.getElementById("foo_quarto").value 
    $("#foo1_jesolo").val a 

Но теперь мне нужно сериализовать это. Я заранее не знаю, сколько будет еды, и Я бы хотел, чтобы у вас был код ajax, который охватывает все из них

ответ

1

Не уверен, что я понимаю ваш английский, но вы не могли его собрать все входы и сериализовать их так?

$("input").serialize -> 

Так в AJAX называют это будет:

$.ajax '/', 
    type: 'POST' 
    data: $("#my_form input").serialize -> 
    dataType: 'script' error: (jqXHR, textStatus, errorThrown) -> 
     $('body').append "AJAX Error: #{textStatus}" 
    success: (data, textStatus, jqXHR) -> 
     $('body').append "Successful AJAX call: #{data}" 

Кроме того, я лично отклониться от использования уникальных идентификаторов для метода keyup. Таким образом, вам не придется писать одно и то же для каждого элемента.

Вместо этого я хотел бы сделать каждый из них имеют общий класс .foo_input и/или .other_foo, и записать его так:

$(".foo_input").keyup -> 
    $(this).sibling(".other_foo").val $(this).value 

Но в идеале, вы должны использовать один класс и использовать JQuery селекторы, чтобы добраться до него. Не знаете, как настроен ваш HTML.

+0

Следуя вашему предложению, я использовал один класс и селектор jQuery, чтобы добраться до него. Благодаря! – Abramodj

Смежные вопросы