0

私は MVC アプリケーションを開発しており、かみそりの構文を使用しています。

このアプリケーションでは、コメント機能を提供しています。

DB からコメント/レコードをロードする部分ビューを追加しました。

下の画像では、従業員インデックス ビューのランタイムと呼ばれるコメント ボックスを確認できます。

ユーザーが削除ボタンをクリックしたときにdivを削除したいと思います。

しかし、現在は機能していません...

画像をご確認ください...

ここに画像の説明を入力

アプリケーションに以下のコードがあります...

<script src="../../Scripts/jquery-1.5.1.min.js" type="text/javascript"></script>
<script src="../../Scripts/jquery.validate.unobtrusive.min.js" type="text/javascript"></script>
<script src="../../Scripts/jquery.unobtrusive-ajax.min.js" type="text/javascript"></script>
<script src="../../Scripts/jquery.validate.min.js" type="text/javascript"></script>

@model  IEnumerable<CRMEntities.Comment>

  <div class="ParentBlock">



    @foreach (var item in Model)
    {
        <div class="OwnerClass" id="OwnerName" data-comment-id="@item.Id">


         <span class="EmpName"> @Html.ActionLink(item.Owner.FullName, "Details", "EMployee", new { id = item.OwnerId }, new { @style = "color:#1A6690;" })</span>

           @Html.DisplayFor(ModelItem => item.CommentDateTime)

          <span class="EmpName"><button type="button" class="deleteComment">Delete</button></span>

          <span class="EmpName"> @Html.ActionLink("Delete", "Delete", "Comment", new { id = item.Id }, new { @style = "color:#1A6690;" })</span>


        <p class="CommentP">
           @Html.DisplayFor(ModelItem => item.CommentText)
        </p>


        </div>


    }


     <p class="p12">

      </p>



</div>

      <p id="ClassPara" class="ShowComments" onclick="chkToggle()">Show All Comments</p>

}



   @Html.TextArea("Comment", "", 5, 80, "asdsd")


    <input type="button" value="Add Comment" id="AddCommentButton"/>                         
    <input type="button" value="Clear" onclick="clearText()"/>                    

    <br />



</body>
</html>





<script src="../../Scripts/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
    $(document).ready(function () {
        $(".deleteComment").click(function () {
            alert("asd");
            var commentBlock = $(this).parent('.OwnerClass');
            commentBlock.hide('slow')

     });
    });



</script>

スクリプトを更新 ....

$(document).ready(function () {
    $(".deleteComment").click(function () {

        var commentBlock = $(this).parent('.OwnerClass');

        $.ajax({
            type: 'post',
            url: '/Comment/DeleteComment',
            dataType: 'json',
            data:
            { 

            ////////////////////////////////////////
            //What should I write here ? How can I get comment ID here ? 
            ////////////////////////////////////////
            },
            success: function (data) {

              var commentBlock = $(this).closest('div');
            commentBlock.hide('slow');

            }

        });

 });
});
4

1 に答える 1

1

これを試して:

<script type="text/javascript">
    $(document).ready(function () {
        $(".deleteComment").click(function () {
            alert("asd");
            var commentBlock = $(this).closest('div');
            commentBlock.hide('slow');
     });
    });
</script>

また、次を使用できます。

<script type="text/javascript">
        $(document).ready(function () {
            $(".deleteComment").click(function () {
                alert("asd");
                var commentBlock = $(this).closest('div');
                commentBlock.html('');
         });
        });
    </script>
于 2012-09-22T04:52:17.367 に答える