0

Railsアプリにモデルfooがあり、インデックスページにすべてfoosがテーブルに表示されています。それぞれfooに、quartoとjesoloの2つの整数プロパティがあります。

ここに画像の説明を入力してください

次のように、html番号フィールドに異なるIDを指定しています。

foo#1

1番目のフィールド:foo1_quarto

2番目のフィールド:foo1_jesolo

foo#2

1番目のフィールド:foo2_quarto

2番目のフィールド:foo2_jesolo

ecc..。

現時点では、次のajaxコード(コーヒースクリプトで記述)を使用して、以下にfoo1_quartoも反映されるようにユーザー入力を行っていfoo1_jesoloます。

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

しかし今、私はこれをシリアル化する必要があります。食べ物がいくつあるかは事前にはわかりませんが、それらすべてをカバーするajaxコードが欲しいのですが。

4

1 に答える 1

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メソッドに一意のIDを使用することを避けたいと思います。このように、すべてのアイテムに同じことを書く必要はありません。

代わりに、それぞれに共通のクラス.foo_inputやを共有させ、次の.other_fooように記述します。

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

ただし、理想的には、1つのクラスを使用し、jQueryセレクターを使用してそれに到達します。HTMLがどのように設定されているかわからない。

于 2012-07-13T10:08:40.113 に答える