0

想要创建一个格式并在其上运行 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 input[type=checkbox]')

更新

如果那做出任何改变,我正在使用twitter bootstrap表格

4

1 回答 1

1

将表格包裹在表单元素中,如下所示:

<table>
  <% @setting.email_notifications.each do |en| %>
  <tr><td>
     <%= form_for en do |u| %>
        <table>
         <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>
       </table>
     <% end %>
  </td></tr>
  <% end %>
</table>

你可以看到不同的jsffidle

但只是建议:如果可能的话,建立没有表格的表格。

于 2013-07-04T10:35:18.090 回答