フォームを作成し、その上で UJS を実行したいと考えていました。ただし、フォーム タグが入力フィールドの外にあるという問題がありますか? そんなことがあるものか?
<tr>
<td>
<input name="email_notification[secondary]" type="hidden" value="0">
<input id="email_notification_secondary_254" name="email_notification[secondary]" type="checkbox" value="1">
</td>
</tr>
<form accept-charset="UTF-8" action="/email_notifications/255" class="edit_email_notification" id="edit_email_notification_255" method="post"></form>
これがフォームのセットアップ方法です。間違っている場合は修正してください
<% @setting.email_notifications.each do |en| %>
<%= form_for en do |u| %>
<tr>
<td><%= en.notification.name %></td>
<td><%= u.check_box :primary, { :id => "email_notification_primary_" + en.id.to_s } %></td>
<td><%= u.check_box :secondary, { :id => "email_notification_secondary_" + en.id.to_s } %></td>
<td><%= u.select :interval, @days, { :id => "email_notification_secondary_" + en.id.to_s } if en.notification.required_intervals? %></td>
<td><%= u.submit %></td>
</tr>
<% end %>
<% end %>
主な問題は、クラスごとに要素を取得してからタイプしようとすると、何も選択されず、フォーム要素が入力要素の外側にあるため、これが予想されることです。
$('.email_notification 入力[タイプ=チェックボックス]')
アップデート
それが変更を加える場合、私はtwitter bootstrap
テーブルを使用しています