【发布时间】:2018-08-24 12:18:59
【问题描述】:
我有一个使用过滤数据动态生成的 HTML 列表。
<tbody>
@{
foreach (var item in listado.Where(x => x.Raw != null)) {
<tr>
<td>@item.Id</td>
<td>@item.Usuario</td>
<td>@item.NIF_CIF</td>
<td>
@if (!(String.IsNullOrEmpty(item.Telefono)) && !(String.IsNullOrWhiteSpace(item.Telefono))) {
@item.Telefono
} else {
@Html.Raw("No disponible")}
</td>
<td>@Math.Round(item.PrecioTotal) €</td>
<td>@item.FechaCreacion.ToShortDateString()</td>
<td>
<button id="detalles@(item.Id)">Detalles</button>
</td>
</tr>
<tr id="vistaDetalles@(item.Id)" hidden>
<td>Detalles del presupuesto</td>
</tr>
}
}
</tbody>
我尝试使用 item.Id 标记按钮,然后在此脚本中指向它:
<script>
$("document").ready(function (Id) {
$("#detalles"+ Id).click(function (Id) {
$("#vistaDetalles" + Id).show();
});
});</script>
我还尝试不标记它们并捕获所有按钮(删除 +Id 部分)以及捕获所有隐藏 td 的相同技术,但没有任何效果。我究竟做错了什么?另外,你能推荐一些学习材料,这样我可以更清楚地了解这部分吗? 提前致谢。问候。
【问题讨论】:
-
您的脚本在某些方面完全错误,请从 document.ready 函数中删除 Id。将 $("#detalles"+ Id).click(function (Id) 替换为 $(document).on("click", "id^=detalles", function () {
-
那也行不通。我知道我没有固定按钮或 tds 正确,但不知道如何正确地做到这一点。
标签: javascript c# jquery html