1

コメントを追加するためのテキストエリアを表示する div 領域を展開する「コメントの追加」というラベルの付いた div があります。

div は for each ループの間に配置された部分ビューにあります。div の複数のインスタンスを作成しますclass="slide"。したがって、$('div.slide').clickがトリガーされると、コメントのすべてのインスタンスが開きます。

class="slide1"各 class="slide" Ex: ,などに id を付ける場合class="slide2"、以下の JavaScript を編集してその特定の div のみを開くにはどうすればよいですか?

Jクエリ

<script type="text/javascript">
    $(document).ready(function () {
        // Hide the "view" div.
        $('div.view').hide();
        // Watch for clicks on the "slide" link.
        $('div.slide').click(function () {
            // When clicked, toggle the "view" div.
            $('div.view').slideToggle(400);
            return false;
        });
    });
</script>

親ビュー

@foreach (var post in Posts)
                {
                <div class="post">@Html.DisplayFor(modelItem => post.Message)</div>  
                <div>@Html.Partial("_Comment")</div>
                }

部分ビュー "_Comment"

<div class="slide" style="cursor: pointer;">Add Comment</div>
<div class="view"> 
 <form method="post" id="commentForm"                       
      action="@Url.Action("AddComment")">                  

    @Html.TextArea("Comment", new { rows = 5, cols = 50 })   
    <br />
    <input type="submit" value="Add Comment" />
</form>
</div>
4

2 に答える 2

0

そのインスタンスを関数の引数として割り当てるのはどうですか?

$('div.slide').click(function (this) {
    this.next().doSomething();
    ...
});

http://api.jquery.com/next/

HTMLコードの構造が常に次のようになると仮定します。

slide_1
view_1
slide_2
view_2
slide_3
view_3
...
于 2012-12-21T20:22:45.677 に答える