2012-02-17 118 views
0

我有一個右邊有刪除按鈕的表。當點擊這些按鈕時,我有一個ajax調用。 OnComplete事件,我有這個代碼:

function JsonDelete_OnComplete(data) { 

    var json = $.parseJSON(data.responseText); 

    if (json.Success) { 
     $(this).parents("tr.item").remove(); 
    } 

} 

事件被解僱。我嘗試刪除已刪除的行,但它不起作用。你可以幫我嗎?我敢肯定,問題是在$(本)....行

我的表被格式化爲這樣的:

<table> 
    <tr class="item"> 
     <td> 
      @Html.DisplayFor(m => person.FirstName) 
     </td> 
     <td> 
      @Html.DisplayFor(m => person.LastName) 
     </td> 
     <td align="right"> 
      @Ajax.ActionLink("delete", "JsonDelete", "People", new { Id = person.Id }, new AjaxOptions { Confirm = "Are you sure you want to Delete this Person? This action cannot be undone.", HttpMethod = "Delete", OnComplete = "JsonDelete_OnComplete" }) 
     </td> 
    </tr> 
</table> 

感謝。

enter image description here

+0

你可以嘗試看看錯誤與Firefox中的螢火蟲。這可能會給你一些解決問題的想法。 – sinanakyazici 2012-02-17 13:08:48

+0

謝謝我不知道螢火蟲,但我會調查...... – Bronzato 2012-02-17 13:10:14

+0

什麼是@Ajax.ActionLink?它似乎不在jQuery中。無論如何,'this'很可能不是你在'JsonDelete_OnComplete'中想到的。我建議你看一下'@ Ajax.ActionLink'的文檔,看看你是否能找到某種方式將它綁定到當前元素(你的點擊目標)。 – 2012-02-17 13:12:14

回答

1

你應該嘗試,

@Ajax.ActionLink("delete", "JsonDelete", "People", new { Id = person.Id }, new AjaxOptions { Confirm = "Are you sure you want to Delete this Person? This action cannot be undone.", HttpMethod = "Delete", OnComplete = "JsonDelete_OnComplete(data,this)" }) 

function JsonDelete_OnComplete(data,element) { 

    var json = $.parseJSON(data.responseText); 

    if (json.Success) { 
     $(element).parents("tr.item").remove(); 
    } 

} 
+0

這不起作用。不管怎樣,謝謝你。 – Bronzato 2012-02-17 16:25:57