我有以下代码来生成一个表,其中列出了一组产品的品牌/型号/子模型/样式。我想在单击destroy按钮时从表中删除整行,但是我无法使用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>
答案 0 :(得分:4)
$('#blah')
语法表示一个ID选择器,它根据id
属性选择一个元素。从您提供的代码中,您的任何表行(<tr>
元素)都没有id
属性,所以我不确定您期望发生什么。我怀疑你想要的是:
<tr id="<%= dom_id(@brand) %>">
然后$('#<%= dom_id(@brand) %>').remove();
应该有用。
答案 1 :(得分:0)
我假设销毁按钮位于tr内部,那么你可以执行以下操作,
//$(this) is destroy button assuming it is inside the same tr
$(this).closest('tr').remove();