私はRuby on Railsを使用して、複数の入力テキストまたは選択フィールドを持つフォームからデータベースを生成しています。私はAJAXを使用しているので、ユーザーが入力フィールドを変更するたびに、すべての入力フィールド値が自動的に考慮され、他のいくつかの結果フィールドが更新されます。javascript複数のフォームフィールドの変更を同じ関数にバインドする方法は?
最初の2つの入力フィールドには次のスクリプトですべてうまく動作しますが、50以上の入力フィールドを持つ予定があります。明示的に定義しなくてもスクリプトを実装するスマートな方法があるのでしょうか?フィールドごとに別々の機能。
同じことを50回以上繰り返さずにスクリプトの規模を調整する方法はありますか?
これは私のjs
<script type="text/JavaScript">
$(function(){
$('.input_1_class').bind('change', function(){
$.ajax({
url: "<%= update_fields_projects_url %>",
data: {
input_1: $('.input_1_class').val(),
input_2: $('.input_2_class').val(),
}
});
});
$('.input_2_class').bind('change', function(){
$.ajax({
url: "<%= update_fields_projects_url %>",
data: {
input_1: $('.input_1_class').val(),
input_2: $('.input_2_class').val(),
}
});
});
});
</script>
であり、これはあなたが複数のセレクタを指定し、それらのすべてにバインドされた同じイベントを持つことができ、私のRubyのフォーム(簡易)
<%= form_for(@project, :html => {:name => "ProjectInfo"}) do |f|
field_set_tag "Customer Information" do %>
<div class="field">
<%= f.label :"Input 1" %>
<%= f.text_field :Input_1, {:class=>"input_1_class"} %>
<%= f.label :"Input 2" %>
<%= f.text_field :Input_2, {:class=>"input_2_class"} %>
<%= f.label :"Output 1" %>
<%= f.text_field :Output_1, {:id=>"output_1_id"} %>
</div>
<% end %>
<% end %>
この応答に感謝します。私はそれを試して、それは私のために完全に動作しています。 – rh4games