web-dev-qa-db-ja.com

ダイアログボックスで動的にテキストを作成する

開いているダイアログボックスのテキストを動的に設定するにはどうすればよいですか?私はいくつかの異なることを試しましたが、それらはすべて空のダイアログボックスで応答します。

これが私の現在の試みです:

 $( '#dialog')。text( 'リンクをクリックしてファイルをダウンロードします:
'.data); $('#dialog ')。dialog( "open");
13
acedanger

ベストプラクティスとして、ダイアログdiv内にdivを配置し、代わりにテキストを追加してみてください。

<div id="myDialog"><div id="myDialogText"></div></div>

次に、内部Divのテキストを設定します。これにより分離が向上するため、

  • ダイアログ操作用のdiv
  • およびテキスト表示用のdiv

次に、でテキストを設定できます

jQuery("#myDialogText").text("your text here");
28
dano

その場でダイアログを作成し、メッセージを動的に設定する別の方法を次に示します。

$('<div></div>').dialog({
    modal: true,
    title: "Confirmation",
    open: function() {
      var markup = 'Hello World';
      $(this).html(markup);
    },
    buttons: {
      Ok: function() {
        $( this ).dialog( "close" );
      }
    }   });  //end confirm dialog

実際の動作をご覧ください: http://jsfiddle.net/DYbwb/

11
Chad Kuehn

プラス記号を使用して文字列を連結します。

$('#dialog').text('Click on the link to download the file:
' + data);
$('#dialog').dialog("open");
4
Karmic Coder

これは、jQueryuiダイアログボックスに動的テキストを表示する例です。テキストはajax応答からのものです。メッセージを以下に示します(表示よりも大きいです!)。enter image description here

$(".info").click(function(event){
    event.preventDefault();
    $id = $(this).attr("id");
    $.ajax({
           type: "POST",
           url: 'my_code.php',
           data: {query:"info", rowid: $id},
           success: function(data) {
                try {
                   obj = JSON.parse(data);
                   var str = '';
                   for (var i in obj) {
                       str += i + ":" + obj[i] + "<br />";
                       if (i == "id") str += "<hr />";
                   }
                   $("#dialog-1").html(str).dialog();
                   $("#dialog-1").dialog('open');
                } catch (e) {}
           }
        });
});
1
Scott C Wilson

dialog("open");は有効なjqueryUIメソッドではありません。 (そして、マイクが+ではなく.と連結することについて言ったこと

ドキュメントを確認してください

0
idrumgood