Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery ui jQueryUI对话框-从表DIV抓取文本并显示-仅在第一次单击时发生_Jquery Ui_Dynamic_Html Table_Dialog_Cell - Fatal编程技术网

Jquery ui jQueryUI对话框-从表DIV抓取文本并显示-仅在第一次单击时发生

Jquery ui jQueryUI对话框-从表DIV抓取文本并显示-仅在第一次单击时发生,jquery-ui,dynamic,html-table,dialog,cell,Jquery Ui,Dynamic,Html Table,Dialog,Cell,我试图将表单元格中的一些文本动态地输入jqueryui对话框,从表中的链接触发(每行一个)。它为每个链接工作一次,但此后停止 以下是我的Javascript: $(function() { $( ".abstractlink" ).click(function() { $( $(this).parent().find('.abstract') ).dialog({ modal: true, autoOpen:

我试图将表单元格中的一些文本动态地输入jqueryui对话框,从表中的链接触发(每行一个)。它为每个链接工作一次,但此后停止

以下是我的Javascript:

$(function() {
        $( ".abstractlink" ).click(function() {
            $( $(this).parent().find('.abstract') ).dialog({
            modal: true,
            autoOpen: true,
            height: "auto",
            width: "600",
            draggable: "true",
            title: "Project abstract",
            resizable: "false"
            });
        });
    });
问题是(我认为)每次单击链接时,我都会重新初始化对话框。问题是,我需要更改每次单击链接时显示的DIV(因此在父(TR)元素中找到类为“abstract”的元素)

以下是表格代码的相关部分:

<tr>
    <td><a href="javascript:;" class="abstractlink">View</a><div class="abstract" id="project_abstract_3">Project 3 abstract. Lorem ipsum.</div></td>
</tr>

项目3摘要:Lorem ipsum。
我有一种强烈的感觉,这不是解决这个问题的一种非常优雅的方式,但由于我还是jQuery新手,所以我很高兴我走到了这一步


非常感谢您的任何建议!

看起来您只需要以下建议:

$(".abstractlink").live("click", function(){
  // do the onClick work in here
  });
他们说:

将调用$(foo).dialog() 初始化对话框实例并将 默认情况下自动打开对话框。如果 如果要重用对话框,则 最简单的方法是禁用 “自动打开”选项,带有: $(foo).dialog({autoOpen:false})和 用$(foo.dialog('open')打开它。到 关闭它,使用$(foo).dialog('close')

更多信息

编辑:警告,未测试代码:


$(function() {
    $(".abstract").dialog({
        modal: true,
        autoOpen: false,
        height: "auto",
        width: "600",
        draggable: "true",
        title: "Project abstract",
        resizable: "false"
    });

    $('.abstractlink').click(function() {
        $(this).parent().find('.abstract').dialog('open');
    });

你不是在创建一个对话框,而是在为每个抽象div创建一个对话框。然后,你告诉他们在需要时打开。

问题是我试图动态指定应该用作对话框内容的div。如果我初始化对话框实例,那只是对话框的一个版本,我需要能够这样做我仍然认为使用多个对话框是可以的,但到目前为止,我看不出为什么需要一个对话框来替换正在运行的内容。如果是这样,请创建一个实际上不属于表的对话框,然后单击“将div的内容替换为要显示的div的内容”躺着。