我有一个强类型的asp.net-mvc视图,模型有一个。链接属性。
链接是链接的数组,其中包含网址,说明和 ID
我有一堆链接。每个链接都有一个标签列表,这些标签的布局如下:
<a id="98" href="www.ibm.com>IBM</a><b class='dblclick'>Tags: Software</b>
<a id="99" href="www.microsoft.com>MIcrosoft</a><b class='dblclick'>Tags: Software</b>
<a id="100" href="www.apple.com>Apple</a><b class='dblclick'>Tags: Software, Fruit</b>
(www.ibm.com为网址,IBM为描述,“98”为 ID )
我有以下jquery代码:
<script type="text/javascript">
$(document).ready(function() {
$(".dblclick").editable('<%=Url.Action("UpdateSettings","Links", new { site = Model.Links[0].ID }) %>', {
tooltip: "Doubleclick to edit...",
event: "dblclick",
style: 'display: inline; width:400px;'
});
});
我不想要的问题: Model.Links [0] .ID 硬编码,我想将索引传入方法(在本例中为98)。由于每个链接都有“dblclick”类,如何将确切的链接或索引传递到此数组中,以便我可以将ID字段插入此可编辑方法中?
答案 0 :(得分:2)
你应该放弃替换:
Model.Links[0].ID
使用
$(this).prev("a").attr("id")
虽然如果你不必横向移动会更好,因为它注定会引起问题。如果您可以将ID放在“b”元素上,那么就像
一样简单<a id="98" href="www.ibm.com>IBM</a><b class="dblclick" id="98">Tags: Software</b>
...
$(this).attr("id")
此外,您可能需要考虑这些ID,因为HTML id属性不应该以数字开头!