0

部分ビューのコンテンツを含む jquery ダイアログを開く ASP.NET MVC 3 Web があります。

  div.load(baseUrl + 'Home/AssignWarehouse?warehouseId=' + warehouseId + '&countryId=' + countryId).dialog(
        {
            width: 400,
            height: 250,
            modal: true,
            close: function (even, ui) {
                refreshMatrix(warehouseId, countryId);
            }
        }
    );

読み込まれるビューは、フォームに追加されたばかりのチェックボックスと [保存] ボタンの単純なリストです。

部分的なビュー。まだスクリプトを追加していません。

@model AjaxConcept2.Controllers.AssignWarehouseModel

<div style="width:49%; display: inline-block">

    <h3>Country</h3>
    @Html.DisplayFor(model => model.CountryText)

</div>

<div style="width:49%; display: inline-block;">


    <h3>Warehouse</h3>
    @Html.DisplayFor(model => model.WarehouseText)

</div>

<div style="margin-top: 20px;">

    <input type="checkbox"/> Option A<br/>
    <input type="checkbox"/> Option B<br/>
    <input type="checkbox"/> Option C

</div>

<input type="button" value="Save"> 

私の質問は、その保存ボタンから簡単な方法でダイアログを閉じることはできますか? 部分ビューで定義されているスクリプトを実行してから、ダイアログを閉じたいです。私はjqueryとjquery.uiに精通していません。:)

[保存] ボタンは部分ビューにあり、動的に読み込まれ、それをクリックするとトリガーされます。

編集:

すべての JavaScript をグローバルに維持し、入力フィールドを一意の ID またはクラスで追跡する必要がありますか? 私が望んでいたのは、部分ビューからスクリプトを実行することでした。

//ヨハン

4

1 に答える 1

0

メソッドを呼び出してcloseダイアログを閉じます。

// If your div is still known or available
div.dialog('close');

// Any element which is a dialog
$('.element').dialog('close');

また、jQuery UI API ドキュメントも参照してください。

保存ボタンのイベントを にデリゲートできますdocument。保存ボタンにクラスがあるとしましょうbtn-save。次のことができます。

$(document).on('click', '.btn-save', function () {
    $('.my-dialog').dialog('close');
});

イベント委任の詳細については、jQuery ドキュメント のこのページを確認してください

于 2013-09-30T08:42:00.923 に答える