0

我有一个 UI,其中有三个以上的 div,其中的数据具有不同的 id,但有一个称为“读取”的通用按钮。我已经显示了消息,其中我将消息正文保持为小(15)阅读按钮它向我展示了整个消息正文。如何实现我想要做的一种方式如下:

foreach (var item in Model.MyNote)
    {

    <div class="row">
        @if (item.Owner.Roles.Any(cx => cx.RoleName == "Customer"))
        {
            <div class="panel">
                <div class="row">
                    <div class="three columns">
                        <img src="@Request.Url.FormatAbsoluteUrl(@item.Owner.Personal.ImageURL)" />
                        <span style="text-align: center;">
                            @item.Owner.Personal.FirstName  @item.Owner.Personal.LastName
                        </span>
                    </div>
                    <div class="nine columns">
                        <input type="hidden" value="@item.Id" id="messid" />
                        <p class="parahide1">@item.Description </p>
                        <p class="parahide">@item.Description.ToTiny(15) </p>
                    </div>
                    @*<a href="@Url.Action("Read", "Appointment", new { @id = item.Id })" class="button" id="read">Read</a>*@
                    <button class="button" id="read">Read</button>

                </div>
            </div>
        }
        else if (item.Owner.Roles.Any(cx => cx.RoleName == "Professional"))
        {

            <div class="panel">
                <div class="row">
                    <div class="nine columns">
                        <p>@item.Description </p>
                    </div>
                    <div class="three columns">
                        <img src="@Request.Url.FormatAbsoluteUrl(@item.Owner.Professional.ImageURL)" />
                        <span style="text-align: center;">@item.Owner.Professional.CompanyName</span>
                    </div>
                </div>
                <a href="@Url.Action("Read", "Appointment", new { @id = item.Id })" class="button">Read</a>
            </div>                                                  
        }
    </div>  

    <script type="text/javascript">
    $(function () {
        $(".parahide1").hide();
        $("#read").live('click',function () {
            $(".parahide").hide();
            $(".parahide1").show();
        });
    });
</script>

    }

这给出了结果,但即使我单击第一个 div 的按钮,它也会显示所有 div 的描述。

4

1 回答 1

0

尝试像这样在当前按钮的父级中查找类 -

$(function () {
    $(".parahide1").hide();
    $("#read").on('click',function () {
        $(this).parent().find(".parahide").hide();
        $(this).parent().find(".parahide1").show();
    });
});

因此,只有div当前按钮父级中的 s 会被隐藏或显示!

更多关于.parent().find()

也使用.on()而不是 .live() 因为 live 已被弃用。

于 2013-10-07T13:58:01.763 回答