我有这个:
<table>
@foreach(var foo in Model.List)
{
<tr>
<td><a href="#" class="MnuCustomerSelect" id="@foo.Id">Select</a></td>
<td>@foo.Id</td>
<td>@foo.Code</td>
<td>@foo.LastName</td>
<td>@foo.FirstName</td>
</tr>
}
</table>
AS jQuery:
<script language="javascript" type="text/javascript">
$(document).ready(function () {
$(".MnuCustomerSelect").click(function () {
var jqxhr = $.post("/Customer/Select", function (data) {
$(this).Id();
})
.success(function () { })
.error(function () { })
.complete(function () { });
});
});
</script>
问题,我想点击所选链接时,将相应的id作为参数发送到/ Customer / Select(将在我的控制器中使用)
有什么想法吗?
谢谢,
答案 0 :(得分:1)
你可以做得更轻松:
$(document).ready(function () {
$(".MnuCustomerSelect").click(function () {
var jqxhr = $.post("/Customer/Select", {id: this.id}, function (data) {
//do something with data
})
.success(function () { })
.error(function () { })
.complete(function () { });
});
});
this.id;
是获取DOM ID的本地js
并且你发送post元素作为$.post
调用中的第二个var
答案 1 :(得分:1)
虽然你可以,但确实使用$(this).attr('id')
来检索id,使用简单的JavaScript本地代码会更快,更少工作{{1} }。
答案 2 :(得分:0)
您可以使用this.id
(感谢David )
<script language="javascript" type="text/javascript">
$(document).ready(function () {
$(".MnuCustomerSelect").click(function () {
var jqxhr = $.post("/Customer/Select",{ id: this.id }, function (data) {
})
.success(function () { alert('Success!'); })
.error(function () { alert('Error!'); })
.complete(function () { alert('Complete!'); });
});
});
</script>