试图通过jquery更改conversejs聊天窗口标题文本

时间:2017-11-25 17:03:08

标签: javascript jquery converse.js

我试图更改发送新邮件时打开的converse.js聊天框的标题。

我已经获得了存储在变量chatbox_id中的弹出式聊天窗口的ID,并且我试图在ajax成功函数中使用jquery来取消引用该变量设置"聊天标题"文本字段,但我的语法不正确:

converse.plugins.add('name_lookup', {
        initialize: function () {
          var _converse = this._converse;
          _converse.on('pluginsInitialized', function () {
          _converse.on('chatBoxInitialized', function (chatbox) {

          var title = chatbox.model.attributes.fullname;
          var chatbox_id = chatbox.model.attributes.box_id;
          var data;


            $.ajax({
                    type: "POST",
                    url: 'lookup.php',
                    async: false,
                    data: "number=" + num_title[1],
                    success: function(data, status, xhr) {                                                      
                     chatbox.model.attributes.fullname = data;
                     $('#' + chatbox_id).children('chat-title').text(data);
                    }
                  });

我尝试了其他语法路线,例如:

$('#' + charbox_id + ' chat-title').text(data);

一起
$('#' + charbox_id).children('chat-title').text(data);

但似乎都没有用。我确定我在这里遗漏了一些明显的东西,但谷歌搜索了诸如"使用jquery设置嵌套div标签,使用父ID的变量"得出了上述尝试。

如果有一个conversejs帮助函数来设置模型中的聊天标题值,并且反过来自动管理聊天框标题文本的刷新,那也会很棒。

任何帮助表示感谢。

1 个答案:

答案 0 :(得分:0)

好的,想通了;

更改聊天框项目后,例如

chatbox.model.attributes.fullname = data;

然后你需要重新渲染

chatbox.render();

希望这会有助于前进的人。