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 に答える