2011-08-04 37 views
1

我有這個頁面jQuery的MVC-3功能的參數

<script type="text/javascript"> 
$(document).ready(function() { 
    $("#delete").click(function() { 
     if (confirm) { 
      $("#divSchedules").load('@Url.Content("~/Export/ScheduleDelete/")'); 
     } 
     else { 
      return false; 
     } 
    }); 
}); 
</script> 
<table> 
<tr> 
    <td>Description</td> 
    <td>Schedule</td> 
    <td>&nbsp;</td> 
</tr> 
@foreach (var item in Model) 
{ 
    <tr> 
     <td>@item.Description</td> 
     <td>@item.Schedule</td> 
     <td><a href="@Url.Action("ScheduleEdit", new { @id = item.Id })" class="popLink"><img alt="" src="@Url.Content("~/Content/images/icons/edit.gif")" style="border:none;" /></a> 
      <img alt="" src="@Url.Content("~/Content/images/icons/delete.gif")" style="border:none;" id="delete" /></td> 
    </tr> 
} 
</table> 

jQuery的功能有被使用id =「刪除」的元素,例如,一個img標籤觸發。

有人可以幫我請,我需要有這個jQuery函數有一個參數使用傳遞的onclick例如像

$(document).ready(function() { 
    $("#delete").click(function (id) { 
     if (confirm) { 
      $("#divSchedules").load('@Url.Content("~/Export/ScheduleDelete/" + id)'); 
     } 
     else { 
      return false; 
     } 
    }); 
}); 

<img alt="" src="@Url.Content("~/Content/images/icons/delete.gif")" style="border:none;" onclick="delete(@item.Id)" /> 

我已經加入ID上的jQuery作爲參數。我試過,但總是有編譯錯誤「身份證不在上下文」的事情。

有人可以幫忙嗎?非常感謝你。

+0

你的圖片有一個JS函數,但你的jQuery被連接到一個ID'刪除'... ID應該是唯一的。創建一個接受參數的函數,並把你的jQuery放在裏面。 – Phill

回答

2

認爲你需要改變這一點:

$("#divSchedules").load('@Url.Content("~/Export/ScheduleDelete/" + id)'); 

這樣:

$("#divSchedules").load('@Url.Content("~/Export/ScheduleDelete/")' + id); 

而且你不能有多個要素與id="delete"。您應該使用className來將元素「分組」在一起。這些ID應該是來自服務器的唯一標識符。所以我的想法是給你所有的刪除按鈕'刪除'類,並附加一個點擊處理程序,該類的所有元素。點擊元素的ID可以使用DOM對象屬性訪問輕鬆提取。

在代碼:

<img alt="" src="@Url.Content("~/Content/images/icons/delete.gif")" style="border:none;" class="delete" id="@item.Id" /> 

$(document).ready(function() { 
    $(".delete").click(function() { 

     // get ID of clicked image 
     var id = this.id 
     if (confirm) { 

      // concatenate ID to URL 
      $("#divSchedules").load('@Url.Content("~/Export/ScheduleDelete/")' + id); 
     } 
     else { 
      return false; 
     } 
    }); 
}); 

請記住,ID應該不以數字開頭,所以你可能會或可能不會需要使用一個前綴(我不知道你在做什麼ID的樣子)。

+0

我會嘗試這一個,當它完成後回來。非常感謝! – Badz