JQuery对话框和div问题

时间:2015-07-15 20:10:09

标签: javascript jquery html jquery-ui

所以我有一个div“passage-content”,当点击一个按钮时,这个div的文本被放入一个jquery对话框中。由于页面是动态的,因此div的内容正在不断变化。按下按钮时,“通道内容”div的内容会发生变化。
这是我的HTML:

<div id="passage-section">
 <!-- Title -->
 <div id="passage-title"></div>

 <!-- The panel that will display the content -->
 <div id="passage-content">THIS IS A DIV</div>

 <!-- Button that when clicked activates a dialog box for the passage. -->
 <button id="max-passage" class="max"></button>
</div>

“段落内容”的文字是我想要抓取并插入对话框的内容。

我遇到两个问题 1)页面上的div中没有​​任何内容,但是当我单击对话框按钮时,文本仅出现在对话框中。
这是代码

  //Opens a dialog box when the button max-passage is clicked
  $('#passage-content').dialog({
   autoOpen: false,
   title: 'Passage'
  });
 $('#max-passage').click(function() {
   $('#passage-content').dialog('open');
  return false;
 });

2)如果我稍微更改了我的代码,文本会出现在div中,但是我的JQuery对话框按钮不起作用。 这是代码

  //Opens a dialog box when the button max-passage is clicked
 $('#passage').dialog({
   autoOpen: false,
   title: 'Passage'
 });
 $('#max-passage').click(function() {
   $('#passage').dialog('open');
   return false;
 });

我认为我的问题在于我称之为#passage / passage-content的方式,但我无法弄清楚。 非常感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

根据我的理解,您希望div#passage-content在页面上可见,并且也在对话框内。

动态创建div,使其成为对话框组件,并将#passage-content的内容设置为对话框

像这样的东西

var $dialog = $('<div></div>').dialog({
    autoOpen: false,
    title: 'Passage'
});
$('#max-passage').click(function () {
    $dialog
        .html($('#passage-content').html())
        .dialog('open');
});

这是一个演示 http://jsfiddle.net/dhirajbodicherla/db5SX/5434/