Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.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
Javascript 使用jQuery对话框小部件_Javascript_Jquery - Fatal编程技术网

Javascript 使用jQuery对话框小部件

Javascript 使用jQuery对话框小部件,javascript,jquery,Javascript,Jquery,我做了这个函数,它改变了我的对话框标题。但我不知道,这样做对吗。我希望,当你这样做的时候: $("#dialog").dialog({ autoOpen: false, title: n }); 然后标题-yyy,更改为xxxyy。但我想不出来,怎么做 <div id="dialog" style="display: none;">hello</div> <button id="opener">Open Dialog</button> <b

我做了这个函数,它改变了我的对话框标题。但我不知道,这样做对吗。我希望,当你这样做的时候:

$("#dialog").dialog({ autoOpen: false, title: n });
然后标题-yyy,更改为xxxyy。但我想不出来,怎么做

<div id="dialog" style="display: none;">hello</div>
<button id="opener">Open Dialog</button>
<button id="change"> Change name </button>
<script>
    var n = 'Basic Title';
    var x = '';
    var $dialog = $("#dialog").dialog({ autoOpen: false, title: n });
    $("#opener").click(function() { $dialog.dialog("open"); });
    $("#change").click(function() {
        var x = prompt("New title");

        if (x === n){
            var $dialog = $("#dialog").dialog({autoOpen: false, title: n});
        } else {
            var $dialog = $("#dialog").dialog({autoOpen: false, title: "xxx" + x});
        }

        $dialog.dialog("open");
    });
</script>
但是我想在那里添加它,而不编辑默认的jQuery UI。 我尝试在另一个脚本文件中执行它,我尝试使用这个 $.getScriptjs/jquery-ui-1.10.4.custom.js,函数{ 因此,我现在可以从其他地方修改jQuery代码,但我不知道如何编辑它。如果我只是复制粘贴该函数,它将无法工作:

这是我需要的:

$.widget("ui.dialog", $.extend({}, $.ui.dialog.prototype, {
_title: function (title) {
if (!this.options.title) {    
title.html("&#160;");
}
title.html("xxx" + this.options.title);
}
}));

您所拥有的非常接近,但是您不需要为标题更改创建新的对话框

$("#change").click(function () {
    var x = prompt("New title");
    var title = $("#dialog").dialog("option", "title");  // get existing title

    if (x != n) {
        $("#dialog").dialog("option", "title", title + "" + x);  // set new title
    }
});

可以使用$.selector.dialog选项,title,dialog title设置标题,并获取现有标题var title=$dialog.dialog选项,title;请看,您能用代码编写它吗?我把它放在代码中,但它不起作用。我是初学者,所以可能有一些语法错误。我将非常感谢。我建议您不要修改jquery源代码。如果您需要自定义,以编写一个新问题,或者将您添加的内容保存在一个单独的源文件中。您最近的编辑更改了原始问题的范围和性质。您应该将您最近的编辑作为新问题发布在另一篇文章中-它更容易被看到并从其他人那里获得帮助。有没有办法在默认jQu中声明这一点ery UI?所以我默认有这个函数,不需要为它编写新的脚本?我不理解你的问题。这个例子中的大部分是jQuery UI。这里不是jQuery UI的东西是特定于你的用例的。上面的代码可以编写,这样在你的项目中更易于重用,但我认为这可以作为一个新问题发布。
$("#change").click(function () {
    var x = prompt("New title");
    var title = $("#dialog").dialog("option", "title");  // get existing title

    if (x != n) {
        $("#dialog").dialog("option", "title", title + "" + x);  // set new title
    }
});