我有这个页面
<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> </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)" />我已经在jquery上添加了id作为参数。我试过了,但总是出现编译错误"id not in context“的问题。
有没有人能帮帮忙?非常感谢。
发布于 2011-08-04 10:24:07
我认为你需要改变这个:
$("#divSchedules").load('@Url.Content("~/Export/ScheduleDelete/" + id)');要这样做:
$("#divSchedules").load('@Url.Content("~/Export/ScheduleDelete/")' + id);id="delete"不能有多个元素。您应该使用className将元素“分组”在一起。ID应该是来自您的服务器的唯一标识符。所以我的想法是给你所有的delete按钮一个'delete‘类,并给这个类的所有元素附加一个click处理程序。可以使用DOM对象属性访问轻松地提取所单击元素的ID。
在代码中:
<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是什么样子的)。
https://stackoverflow.com/questions/6935441
复制相似问题