2012-07-13 58 views
0

我在我的Rails应用程序中有一个型号foo,并且在索引页中所有foos都列在表中。每个foo有2个整数属性:quarto和jesolo。Rails - 使用ajax处理多个动态字段

enter image description here

我给不同的ID的HTML号码字段,以下列方式:

富#1

1场:foo1_quarto

2ST领域: foo1_jesolo

foo#2

1场:foo2_quarto

2ST领域:foo2_jesolo

ECC ...

在我使用下面的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}" 

另外,我个人使用唯一的ID对您的keyup方法流浪了。这样,你就不必为每一件物品写同样的东西。

相反,我会让每个人都有一个共同的类.foo_input和/或.other_foo,并把它写像这样:

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

但理想情况下,你可以使用一个类,并使用jQuery选择得到它。不确定你的HTML是如何设置的。

+0

遵循您的建议,我使用了一个类和jQuery选择器来实现它。谢谢! – Abramodj 2012-08-21 11:13:33