3

divからテキストを取得せずに、javascript変数のテキストからjqueryダイアログボックスを開く方法はありますか?

4

1 に答える 1

3

<div>JavaScript変数から要素 を作成して追加し、次のようなものを使用してダイアログに変換できます。

var dialog =  "<div id=dialog <h1>Some text</h1></div>";
$('body').append(dialog);
$('#dialog').dialog();  

フィドル

var dialog =  "<div id=dialog <h1>Some text</h1></div>";
$('body').append(dialog);
$('#dialog').dialog();
<head>
  <title>jQuery UI Dialog - Default functionality</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://code.jquery.com/ui/1.11.0/jquery-ui.min.js"></script> 
<link href="http://code.jquery.com/ui/1.11.0/themes/smoothness/jquery-ui.css" rel="stylesheet"/>

  
</head>
<body>

</body>

関数を使用してこれを自動化できます。

var createDialog = function(text , title) {
    var dialog =  "<div id=dialog <h1>" + text + "</h1></div>";
    $('body').append(dialog);
    $('#dialog').prop('title' , title);
    $('#dialog').dialog();
}

変数を引数として渡す関数を呼び出すだけで、ダイアログが表示されます。

フィドル

// initialize title and body variables
var someVariable = "Some text";
var someTitle = "My title";

var createDialog = function(text , title) {
    //create dialog <div> shell
    var dialog =  "<div id=dialog <h1>" + text + "</h1></div>";
    
    // create the dialog <div>
    $('body').append(dialog);
    
    // update the <div>'s title
    $('#dialog').prop('title' , title);
    
    //create the dialog
    $('#dialog').dialog();
}

createDialog(someVariable , someTitle);
<head>
  <title>jQuery UI Dialog - Default functionality</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
 <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.min.js"></script>
  <link rel="stylesheet" type="text/css" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css">
</head>
<body>

</body>

于 2013-07-16T02:54:50.447 に答える