【问题标题】:How to change content outside jQuery UI dialog from dialog?如何从对话框中更改 jQuery UI 对话框之外的内容?
【发布时间】:2013-11-09 16:07:44
【问题描述】:

我有一个对话框,它会在选择某个跨度时弹出。现在此对话框包含一个文本区域(因此可编辑)。单击“保存”按钮时,我需要将 textarea 内容复制到对话框外的表格单元格中。这似乎没有发生。实际上在保存功能中添加第二行代码,对话框不弹出! (在 WordPress 中使用它以防万一)

jQuery(document).ready(function ($) {
    $("td > span").click(function () {
        var id = $(this).attr('id');
        var message = "message" + id;
        var content = jQuery("#" + message).text();
        var $dialog = $("<div></div>").html("<textarea style='width:99%; height:90%' class='popup-content'>" + content + "</textarea>").dialog({
            height: 400,
            width: 400,
            title: 'My Data',
            modal: true,
            autoOpen: false,
            dialogClass: 'wp-dialog',
            buttons: {
                "Save": function () {
                    var popup - content = $(".popup-content").val();
                }
            }
        });
        $dialog.dialog("open");
    });
});

【问题讨论】:

    标签: jquery jquery-ui dialog


    【解决方案1】:

    保存按钮不再起作用,因为var popup - content 不是有效的 javascript。如果有能力,我建议先在你的编辑器中添加一些 JSLint 或 JSHint 功能。

    现在,要完成您想要完成的事情,应该相当简单。我们将忽略一些潜在的地雷,并假设您的类是唯一标识的,但您的保存功能应如下所示:

    function() {
        $(".my-table-cell").html($(".popup-content").val());
    }
    

    【讨论】:

    • 你的建议效果很好!但是你能否详细说明一下为什么'var popup - content is not valid javascript'。没有得到那部分。
    • 这只是非法代码,Javascript 解析器无法理解该语法。这与您不能将脸撞在键盘上并期望 Javascript 引擎理解任何内容的原因相同。
    • 哦,明白了。连字符的左右各有一个空格……你的意思是对的吗?可怕的错误。我猜在这里粘贴代码时出了点问题。但如果是这样的话,我想知道为什么它不能在本地工作。纽维,谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-07
    • 1970-01-01
    • 2011-04-13
    • 2017-02-02
    • 1970-01-01
    相关资源
    最近更新 更多