2016-12-07 6 views
0

私はいくつかのフォームフィールドを処理するためにコクーンを使用していますが、ページ上の他の場所、特に別の場所で使用されている配列のアクティブフォームフィールドの値を使用する必要があります。私は配列でフォームフィールドに値を設定し、一方が変更されたら、もう一方を変更する必要があります。配列といくつかのネストされたフォームフィールドは一貫していますか?

私が現在行っていることは、配列が変更されたときに、フォームフィールドをすべて削除してから再度追加しますが、インデックスでアクセスできず、変更されたときには、変更と実際のインデックスの変更を取得する、どのように繭が挿入と削除を処理すると、インデックスは表示されているものと一致しません。参照用のコードを追加

は、私は、フォームをクリアするには、この機能を持って、新しいものを作るが、私は実際にform_fieldsにアクセスする方法に関してはわからないんだとfield_coords配列から取り込むことができません。

function redo_forms(){ 
    $('.remove_point').each(function() { 
    $(this).trigger('click'); 
    }); 
    for(i=0; i < field_coords.length; i++){ 
    $('.add_point').trigger('click'); 
    //add data here 
    }; 
} 

自体は次のように定義されているフォーム:

<tbody> 
    <%= f.fields_for :points do |point| %> 
     <%= render 'admin/shared/point_fields', {:f => point} %> 
    <% end %> 
    <tr id='new_point'> 
     <td colspan="3"> 
      <%= link_to_add_association t(:add_points), f, :points, {'data-association-insertion-method' => 'before', 'data-association-insertion-node' => '#new_point', :partial => 'admin/shared/point_fields', :class => 'add_point'} %> 
     </td> 
    </tr> 
</tbody> 

と:

<tr class='nested-fields'> 
    <td><%= f.text_field :lat, :class => 'coordinate_lat span8' %></td> 
    <td><%= f.text_field :lng, :class => 'coordinate_long span8' %></td> 
    <td><%= link_to_remove_association t(:remove_point), f, :class => 'remove_point' %></td> 
</tr> 
+0

参照用にコードを追加してください。 – anandh

答えて

0

あなたは.clickの代わりに汚い機能を使用してみましたか?

をクリックすると空白のレコードが送信され、イベントが送信されずにユーザーが値を入力するように感じられます。

また、&を再入力する情報を保持するようにコントローラを設定したくない理由がありますか?

+0

私は.clickを使用しました。私はフィールドを作成し、それに値を与える方法の一部を考えました。作成したフォームにアクセスし、その値を設定することに続いて.clickに近いものになりますが、アクセスする方法を見つけることができませんでしたそれ。 なぜアレイを保持するようにコントローラをセットアップしなかったのかについては、最初はコントローラーからJavaScriptのクライアントサイドコードに元のセットをコピーしていましたが、データを更新するためのajaxリクエストを設定できることはわかりませんでした。私はそれがうまくいくかもしれないと思うけど、それは少し過度に思えるかもしれない。 – Arfons

+0

私はそれに精通していない、または私はあなたを歩いていくだろう - しかし、私はいくつかのブログに従った - [汚い説明](https://www.bignerdranch.com/blog/dirty-forms/)&jqueryを私がインストールしていない先週から保存された宝石 - [gem](https://github.com/snikch/jquery.dirtyforms)。 – Mirv

関連する問題