-1

次のコードを使用してダイアログボックスを開きます。

<li>
     <input type="button" value="Preview" onclick="showPreview('EmailPreview');" />
</li>

<div id="dialog"> 
    </div>
    <script type="text/javascript"> 
      //<![CDATA[
        $(document).ready(function () {
                $('#dialog').dialog({
                autoOpen: false,
                modal: true,
                height: 525,
                resizable: false,
                width: 600,
                dialogClass: 'timer'
            });
        });
      //]]>
    </script> 
</div>

私の.jsファイル:

function showPreview(action, id) {
    $.get("/Manage/Account/" + action + "/" + id, function (data) {
        $("#dialog").html(data);
        $('#dialog').dialog('open');
        $('#Area, #Exchange, #Number').autotab_magic().autotab_filter('numeric');
        $("#dialog input[type='button'], #dialog select,#dialog input:checkbox,#dialog input:radio,#dialog input:file").uniform();
    });

私はこの正確なコードを3つの場所で使用しています。1つの場所で、すべてが完全に機能します。他の2つの場所では、まったく同じように、異なるビューで、ダイアログボックスは開きますが、閉じません。私が行方不明になっていることは明らかですか?

これはダイアログボックスビューにあります:

 <div class="top"><a onclick="$('#dialog').dialog('close'); return false"><img src="/public/images/admin/btn-close.png" /></a></div> 
4

2 に答える 2

1

どこにもダイアログが閉じていないので、次の関数を使用してダイアログを閉じることができます。

$('#dialog').dialog('close');

詳細:jQueryUIダイアログ

また、すべての要素は一意のIDを持っている必要があるため、、のようにする必要が#dialog-aあり#dialog-bます。そうしないと、IDセレクターなどでエラーが発生します。

于 2012-06-14T15:59:52.427 に答える
1

ダイアログ要素IDは一意である必要があります。そうでない場合、jQueryは正しいIDを見つけられません。

于 2012-06-14T16:30:56.547 に答える