我如何告诉ajax从列表中选择单击的项目



我试图制作度假人员列表,我想在点击" Data de Regresso" "时计算他们的返回日期。链接。我设法做到了这一点,但是当我单击列表中的任何按钮时,它总是传递列表中的第一个ID,而不是我单击的项目的ID。我对这个有点陌生。我将非常感谢任何帮助。我使用的是asp.net框架MVC 5.

View Code:

<div class="col-4">
<div class="card">
<div class="card-header text-white" style="background-color: #4d4d4f;">
Férias
</div>
<div class="card-body">
<table class="table">
<thead>
<tr>
<td>Nome</td>
<td></td>
</tr>
</thead>
<tbody>
@if (Model.PessoasDFVM.Count == 0)
{
<tr>
Ninguém de férias.
</tr>
}
else
{
foreach (PortalInternoBBG.Web.Models.HomePage.PessoaDFVM pessoaDeFerias in Model.PessoasDFVM)
{
<tr>
<td>@pessoaDeFerias.Nome</td>
<td>
<div id="ResponseDiv">
<a href="#" onclick="GetDataDeRetorno('@pessoaDeFerias.IDstring')">
Data de Regresso
</a>
</div>
</td>
</tr>
}
}
</tbody>
</table>
</div>
</div>

和ajax函数:

function GetDataDeRetorno(id) {
var stringID = id;
$.ajax({
url: urlCalculaDataDeRetorno,
data: { "id": stringID },
type: "POST",
success: function (data) {
$('#ResponseDiv').replaceWith("<div>" + data + "</div>");
},
failure: function (response) {
alert(response.responseText);
},
error: function (response) {
alert(response.responseText);
}
});
}

用唯一Id附加div类,以便在ajax响应中使用它来更改div数据。

请更改html中的以下代码。

<div class="ResponseDiv_@pessoaDeFerias.IDstring">
<a href="#" onclick="GetDataDeRetorno('@pessoaDeFerias.IDstring')">
Data de Regresso
</a>
</div>

和在ajax成功使用下面的代码

success: function (data) {
$('.ResponseDiv_' +stringID).replaceWith("<div>" + data + "</div>");
}

最新更新