如何在运行时生成的Javascript切换div的ID

时间:2016-11-25 12:55:23

标签: javascript c# jquery html model-view-controller

我将模型发送到MVC中的视图,

每个" Person"在我的模型中,我想创建一个按钮,显示"显示详细信息",当用户点击它时,div会显示有关该人切换的更多信息。

我正在生成分配给每个人ID的SELECT t.id, r.COLUMN_VALUE, t.cnt FROM table_name t, TABLE( CAST( MULTISET( SELECT LEVEL FROM DUAL CONNECT BY LEVEL <= t.cnt ) AS SYS.ODCINUMBERLIST ) ) r; a href ID,如下所示:

div

我想创建一个在点击事件上切换的javascript

所以我想写这个脚本但是每个人都有唯一的id:

我想获取需要切换的div的ID。

我尝试在foreach循环中编写脚本,这样我就可以读取@ person.id值了,但它没有用:

   foreach (var person in Model.Persons)
        {
        <div>
            <a href="#" id="@Html.Raw("showDetails-" + @person.id)">Show Details</a>
        </div> 
        <div id="@Html.Raw("detailsDiv-" + @person.id)">
        <!--Content Here -->
        </div>

        }

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

你可以把id放在像#34; person_id&#34;这样的标签中。并使用类来触发jquery事件。

<div class="middle_right">
        <a class="showDetails" href="#" person_id="@Html.Raw("showDetails-" + @person.id)">Show Details</a>
</div> 

和js

$(".showDetails").click(function () {
        var person_id=$(this).attr("person_id")
}); 

答案 1 :(得分:1)

将类添加到class="showDetails"等链接中。

现在,您可以为所有链接创建一个全局事件:

$('.showDetails').click(function(e) {
   var id = this.id // extract id.. split with '-' or whatever..
   $('#details-' + id).toggle();
});