2011-09-09 4 views
0

多くの人が尋ねてきたようにこれは簡単にできるはずですが、回答が得られません。ヘルパーを使ってjQueryを使ってテーブル行を削除する

AJAXで行が追加されたテーブルがあります。私は今AJAXで削除したいです。

追加された私は、これは部分的に持っている

<tr > 
    <td><%= f.hidden_field :project_id, :value => @project.id ,:disabled => true %></td> 
    <td><%= f.select :taskType, ['Pre-Sales','Project','Support','Fault Fixing','Out Of Hours'] %></td> 
    <td><%= f.text_field :task_name %></td> 
    <td><%= link_to_remove_fields "remove", f %></td> 

</tr> 

が、これは、このヘルパーにつながる:これにつながる

def link_to_remove_fields(name, f) 
    f.hidden_field(:_destroy) + link_to_function(name, "remove_fields(this)") 
    end 

    def link_to_add_fields(name, f, association) 
    new_object = f.object.class.reflect_on_association(association).klass.new 
    fields = f.fields_for(association, new_object, :child_index => "new_#{association}") do |builder| 
     render(association.to_s.singularize + "_fields", :f => builder) 
    end 
    link_to_function(name, "add_fields(this, \"#{association}\", \"#{escape_javascript(fields)}\")") 
    end 

はJS:

function remove_fields(link) { 
    $(link).prev("input[type=hidden]").value = "1"; 
    $(link).parent(".fields").hide(); 
    //$(link).find('tr').remove(); 
    $(link).remove(); 
} 
function add_fields(link, association, content) { 
    var new_id = new Date().getTime(); 
    var regexp = new RegExp("new_" + association, "g"); 
    $(link).parent().before(content.replace(regexp, new_id)); 
} 

私は限り取得することができます列内のボタンを削除して削除しますが、行は削除しません。私はそれをやったやり方は 'tr'を削除することはできないと思う。

私は確かにこれは簡単で、jQueryを使った経験のそのちょうど私の不足くれ

更新 レンダリングされたHTML

<td> 
<input id="project_project_tasks_attributes_1315581090843__destroy" type="hidden" value="false" name="project[project_tasks_attributes][1315581090843][_destroy]"> 
<a onclick="remove_fields(this); return false;" href="#">remove</a> 

答えて

0

変更

//$(link).find('tr').remove(); 

を失敗だと
$(link).parents('tr').remove(); 
+0

あなたがレンダリングされたHTMLを投稿する必要がありますし、自分のコードが間違って何もあなたが '​​remove' –

+0

私が持っている正確に何のthatsを持っていると仮定がないので、あなたがクリックしているリンクは、その後私は、推測された場合...私はちょうどそれをonclick関数にすることを考えて – SD1990

+0

うーん... onclick関数_on what_?クリックイベントを削除リンクにどのようにバインドしていますか? –

関連する問題