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

그게 전부가 가정 없기 때문에 나는 추측 ... 메신저 그냥 onclick 함수 만들기에 대해 생각하고 – SD1990

+0

음 ... onclick 함수 _on what_? 클릭 이벤트를 제거 링크에 어떻게 바인딩하고 있습니까? –

관련 문제