【问题标题】:Append string to jquery-ui-dialog title将字符串附加到 jquery-ui-dialog 标题
【发布时间】:2015-06-29 16:21:11
【问题描述】:

所以基本上我需要知道如何将字符串附加到对话框标题。

例如字符串是 foo。

如果我跑了

$("#dialogid").dialog("option", "title", "bar")

在js控制台中,标题应该是foobar。

编辑:

基本上这行代码不应该改变。如果我专门运行这行代码,标题将变为 foobar

EDIT2:

所以我想出了一个解决我的问题的方法,但我仍然不知道我怎样才能让它立即发生,而不是在 10 毫秒之后发生

$(function () {
    $("#dialogid").dialog({})
    $("#dialogid").dialog('option', 'title', 'bar');

    setInterval(function(){ 

        var title123 = $("#dialogid").dialog( "option", "title" );
        var n = title123.indexOf("foo");
        if(n < 0) {
            $("#dialogid").dialog( "option", "title", "foo" + title123);
        }

    }, 10);
});

【问题讨论】:

  • 我的回答解决了你的问题?

标签: jquery jquery-ui jquery-ui-dialog


【解决方案1】:

这里是 jsfiddle 链接 http://jsfiddle.net/tridip/rxV8R/18/

$(function () {
    $("#dialog").dialog({})
    //init title with text
    $("#dialog").dialog('option', 'title', 'Foo');

    //later change the text
    $("#dialog").dialog('option', 'title', $("#dialog").dialog('option', 'title')+' Bar');
});

如果有不清楚的地方请问我。

【讨论】:

  • 您的示例有效,但正如我在上面编辑的那样,我给出的代码行不应更改。
  • 当我的答案有效时,您应该将我的答案标记为正确或投票给我。谢谢
【解决方案2】:

这应该可以工作(假设您要附加到预先存在的对话框标题):

var existingTitle = $("#dialogid").dialog("option", "title"); 
$("#dialogid").dialog( "option", existingTitle  + "bar" );

【讨论】:

  • 这行得通,但有什么选择可以在全球范围内进行吗?我的意思是,如果我更改标题,总是将字符串添加到标题中,而不是真正添加它。
  • 您可能会添加某种帮助(甚至扩展)方法:将其称为 appendToDialog,然后执行与上述类似的功能。然后,每当您想设置文本(通过附加)时,您都可以调用该方法。
猜你喜欢
  • 2014-01-11
  • 1970-01-01
  • 1970-01-01
  • 2014-04-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多