asp.net mvc和jquery试图传入列表

时间:2009-10-29 14:11:23

标签: jquery asp.net-mvc jeditable

我有一个强类型的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字段插入此可编辑方法中?

1 个答案:

答案 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属性不应该以数字开头!