0

MVC アプリケーションがあります。いくつかのプロパティとコメント リンクを含む 1 つのビューがあります。ユーザーがコメント リンクをクリックすると、コメント div が展開され、すべてのコメントがユーザーに表示されます。今、私はその機能を自動化したい、またはユーザーがすべてのコメントが表示されていることを確認したときに、そのクリックプロセスをスキップしたいと言うことができます。(リンクをクリックしなくても、すべてのコメントが表示されます)

どうやってするか ?

コードを表示

            @model PaymentAdviceEntity.Employee

            @{
                ViewBag.Title = "Edit";
            }

            <h2>Edit</h2>

            <script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
            <script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>

            @using (Html.BeginForm()) {
                @Html.ValidationSummary(true)
                   <div class="row-fluid">

                <fieldset>


                    @Html.HiddenFor(model => model.Id)



                    <div class="editor-label span3">
                        @Html.LabelFor(model => model.FirstName,"First Name")
                    </div>
                    <div class="editor-field span3 InputBoxMargin">
                        @Html.EditorFor(model => model.FirstName)
                        @Html.ValidationMessageFor(model => model.FirstName)
                    </div>


                          <div class="editor-label span3">
                          @Html.LabelFor(model => model.LastName,"Last Name")
                          </div>
                          <div class="editor-field span3 InputBoxMargin">
                          @Html.EditorFor(model => model.LastName)
                          @Html.ValidationMessageFor(model => model.LastName)
                          </div>
                       </div>
               </div>
            </div>
                     </fieldset>
            </div>

                     <div>
                      <p>
                        <input type="submit" value="Save" />
                    </p>
                 </div>

<div>


     <span>@Ajax.ActionLink("Comments", null, null, null, new { id = Model.Id, @class = "addremark" })</span>

        <div class="RemarkBox"></div>
        <span class="CommentAdd"></span>

</div>

            }



    $(document).ready(function () {
    //$('.RemarkBox').hide();
    $('a.addremark').click(function (event) {
    ar url = "@Html.Raw(Url.Action("ShowCommentBox", "Comment", new { Id = "idValue", EntityType = "Employee" }))";
     url = url.replace("idValue", event.target.id);
     $('.RemarkBox').load(url);
     $(this).closest('div').find('div.RemarkBox').slideToggle();
     return false;
     });  
     }); 
       </script>
4

1 に答える 1

1

このようなことを試してみてください。主な部分は、ドキュメントのクリック機能を呼び出す必要があることです。

$(document).ready(function () {
    $('a.addremark').click(addremarkClick);

    // Call on load also
    addremarkClick();
});

function addremarkClick(event) {
    var url = '@Html.Raw(Url.Action("ShowCommentBox", "Comment", new { Id = "idValue", EntityType = "Employee" }))';

    if (typeof event !== 'undefined') url = url.replace("idValue", event.target.id);
    else url = url.replace("idValue", $('a.addremark')[0].id);

    $('.RemarkBox').load(url);
    $(this).closest('div').find('div.RemarkBox').slideToggle();
    return false;
}
于 2013-03-07T06:39:54.100 に答える