0

別のページからコンテンツをロードする jQuery UI ダイアログがあります。ダイアログは初回のみ開きますが、2 回目は開きません。ダイアログに何もロードしない場合、2 回目も機能します。

jsFiddleを参照してください。[動作します。エラーは別の場所にあるはずです]

HTML:

<a class="click" href="form.php">form</a>
<a class="click" href="data.php">data</a>
<a class="click" href="user.php">user</a>
<div id="dialog"></div>

JavaScript:

$(document).ready(function() {
    $("#dialog").dialog({
        autoOpen: false,
        closeOnEscape: true
    });

    $('.click').click(function(event) {
        event.preventDefault();
        $('#dialog').load(this.href);
        $("#dialog").dialog('open');
    });
});​
4

1 に答える 1

1

ロードの完全なコールバックでダイアログを開いてみてください - ロードはデフォルトで非同期に実行されるため、開くをクリックするまでに完了しない可能性があります - それが混乱の原因かもしれません (ただし、例の作品:-) )

var $dialog;
$(document).ready(function() {
  $dialog = $("#dialog").dialog({
    autoOpen: false,
    closeOnEscape: true
  });

  $('.click').click(function(event) {
    event.preventDefault();
    $dialog.load(this.href, function() {
     $dialog.dialog('open');
    });
  });
});​
于 2012-12-11T06:07:04.793 に答える