1

我有以下代码来为一组产品生成一个列出品牌/型号/子型号/样式的表格。单击销毁按钮时,我想从表中删除整行,但我不知道如何使用 dom_id 和 jquery 的 .remove()

到目前为止,我已经尝试了一些变化$('#<%= dom_id(@brand) %>').remove();,但没有成功。谢谢!

<div class = "span8">
<table class="table table-striped" id="devices">
  <thead>
    <tr>
      <th>Brand</th>
      <th>Model</th>
      <th>Submodel</th>
      <th>Style</th>
      <th></th>
    </tr>
  </thead>
  <tbody>
    <% @brands.each do |brand| %>
      <tr>
        <td><%= link_to brand.name, brand_path(brand) %></td>
        <% @model1 = Model.find_by_brand_id(brand.id) %>
        <td><%= @model1.name %></td>
        <% @submodel1 = Submodel.find_by_model_id(@model1.id) %>
        <td><%= @submodel1.name %></td>
        <% @style1 = Style.find_by_submodel_id(@submodel1.id) %>
        <td><%= @style1.name %></td>
        <td style = "border:none;">
          <%= link_to 'Edit', edit_brand_path(brand), :class => 'btn btn-mini' %>
          <%= link_to 'Destroy', brand_path(brand), :method => :delete, :remote=>true, :confirm => 'Are you sure?', :class => 'btn btn-mini btn-danger' %>
        </td>
      </tr>
    <% end %>


  </tbody>
</table>
</div>
4

2 回答 2

4

$('#blah')语法表示一个 ID 选择器,它根据其id属性选择一个元素。从您提供的代码中,您的表格行(<tr>元素)都没有id属性,所以我不确定您期望发生什么。我怀疑你想要的是:

<tr id="<%= dom_id(@brand) %>">

然后$('#<%= dom_id(@brand) %>').remove();应该工作。

于 2012-04-04T20:49:54.677 回答
0

我假设销毁按钮位于 tr 内,然后您可以执行以下操作,

//$(this) is destroy button assuming it is inside the same tr
$(this).closest('tr').remove();
于 2012-04-04T20:49:20.447 回答