C# 在JQuery中查找动态添加的部分视图范围内容的控件
我们的局部视图1如下所示:C# 在JQuery中查找动态添加的部分视图范围内容的控件,c#,jquery,asp.net-mvc-4,C#,Jquery,Asp.net Mvc 4,我们的局部视图1如下所示: @using (Html.BeginCollectionItem) { <div id = "partialview-content> <table > <tr> <td> @Html.TextBoxFor(x=>x.Name, new {id = "name", @class = "name-c
@using (Html.BeginCollectionItem)
{
<div id = "partialview-content>
<table >
<tr>
<td>
@Html.TextBoxFor(x=>x.Name, new {id = "name", @class = "name-class"})
// Additional controls
</td>
</tr>
<tr class="rowSpace">
<td>Label Text</td>
<td>
<span id="business-key-id">
@Html.DisplayFor(x=>x.BusinessKey)
</span>
</td>
</tr>
</table>
}
</div>
执行此代码就是更新所有动态添加的局部视图的业务密钥id。如何获得keydown事件控件特定的业务密钥的控制权?此行将选择具有类名称business key id的所有元素
$(".business-key-id").html(...
更改选择器以仅选择下一个图元
$(".name-class").on(...
$(this).next('.business-key-id').html(...
注意.live
已折旧-您应该使用.on
编辑
根据OP修订的html,选择共同响应的业务密钥id
的选择器应为
$(this).closest('table').find('.business-key-id).html(...
并将html更改为使用class
属性,而不是id
属性(重复的id是无效的html)
@DisplayFor(x=>x.BusinessKey)
感谢Stephen的投入。我在上一个问题中遗漏了一些嵌套。我现在在我的问题中更新了同样的内容。我在JQuery中替换了.live to use.on,然后添加了.next('tr.rowSpace td span.business key id').html('…');这一次,UI中没有任何内容得到更新。所以我的JQuery选择器是错误的。你能纠正我的错误吗?好的,你需要更改选择器以匹配修改后的html。我会很快更新答案
$(this).closest('table').find('.business-key-id).html(...
<span class="business-key-id">
@Html.DisplayFor(x=>x.BusinessKey)
</span>