在我看来,我有一个部分
<div id="AssNameSection" style="display: none;">
<div id="AssNameSectionLoad"></div>
</div>
并且有一些jquery在勾选复选框时显示并打开该部分中的局部视图。
...
$("#AssNameSectionLoad").load(newurl);
这一切都有效。在已加载的子部分中,一些行数据带有操作链接,行ID作为ID。
我试图将行点击的ID传递给主视图进行编辑。
我弄清楚如何使用.click
捕获另一个表单/视图/部分中的操作链接。
这可能吗,有人能说出正确的方向吗?
编辑更多信息
在assnamesectionload div中呈现的局部视图中的动作链接代码
<td class="ActionLinks">
@Html.ActionLink("Link Text", "ActionName",
new { controller = "MyController", id = item.id },
new { @class = "my-class" })
</td>
</tr>
}
</table>
html部分
<div id="AssNameSection" style="">
<div id="AssNameSectionLoad">
<input name="__RequestVerificationToken" type="hidden" value="Zt9MlOm1zFuV_oAihoql_9aT-ch2fVkRs2oHodR1wCZkpMuhwLQHMS8_RTSRRcSCYBFlNa7psrVLu1-xhxAmc-jzhppX0UfbZ3gvzn62TQaJxtzpu4T_j3NtRXy2e6yH0"> <div>
<div>
<table class="table">
<tbody><tr>
<th>
Relationship
</th>
<th>
Associated Name
</th>
<th>
Options
</th>
</tr>
<input id="txtAssNameLineid" name="item.id" type="hidden" value="12157PAR121600"> <tr>
<td>
yyy
</td>
<td>
xxx
</td>
<td class="ActionLinks">
<a class="my-class" href="/MyController/ActionName/12157PAR121600">Link Text</a>
</td>
</tr>
</tbody></table>
</div>
</div>
</div>
</div>
jquery的
<script>
$("a.my-class", "#AssNameSectionLoad").click(function (e) {
e.preventDefault();
console.log("a my-class has been clicked");
});
</script>
答案 0 :(得分:1)
只要您有jquery选择器的入口点,就可以使用.click
函数。
我们假设$('.clickable')
包含$("#AssNameSectionLoad")
元素(您可能会在局部视图中生成或其他)。
然后,您可以使用$('.clickable', '#AssNameSectionLoad').click(function(){...})
来处理行为。
基本概念是你的jquery将查看最终的html,而不是你所放置的视图中的html。
编辑:
要选择input元素的id,可以使用此jquery:
$("a.my-class", "#AssNameSectionLoad").click(function (e) {
e.preventDefault();
var id = $(this).parents('tr').prev('input').attr('id');
alert("a my-class has been clicked id="+id);
});
这里有jsfiddle代码。