我有一个非常简单的对话框,在页面就绪时打开,这是代码
此代码在我看来
$(document).ready(
//Dialog
$("#dialog").dialog({
title: "Dialog box",
height: 300,
modal: true,
open: function(event, ui) {
$(this).load("@Url.Action("TestDialogView", "Card")");
}
})
);
现在这会打开一个对话模式,其中包含TestDialogView的视图内容。现在我想要做的是在对话框中绘制一个表(我可以在视图中执行此操作),但我想要尝试做的是,当用户单击表中的一个项时,该ID的ID然后将项目发回到我们所在的视图,现在将id传递给我的模型。
步骤示例
干杯
--- ---更新
以下是我的对话框的屏幕截图
这是呈现它的视图
@model CardSite.Models.FileSearchModel
@{
ViewBag.Title = "Attacks";
}
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(x => x.Name)
</th>
<th>
Select
</th>
</tr>
@foreach (var item in Model.PokemonFiles)
{
<tr>
<td>
@Html.DisplayFor(m => item.Name)
</td>
<td>
<a href="">View</a>
</td>
</tr>
}
</table>
在我看来,我需要改变什么?什么应该&#34;观看&#34;一个链接?
答案 0 :(得分:0)
您需要使用.on()
进行事件委派:
var selectedId = '';
$("#dialog").on('click', '.table a', function(){
selectedId = this.id;
});
或者如果您对第4步有更多解释。
根据您更新的问题,我在桌面上看不到任何ID或任何tr, td or anchor
也没有任何ID。
所以现在我已经改变了我的答案:
$("#dialog").on('click', '.table a', function(){
alert($(this).closest('tr').find('td:first').text());
});
上面的代码会为您提供与点击链接相关的第一个td文本。