【问题标题】:How to create a button and modify value when I click it?单击时如何创建按钮并修改值?
【发布时间】:2021-04-25 23:51:26
【问题描述】:

我正在开发一个聊天室网站,我想创建按钮并在单击它时更改全局值。

但是当我点击它时没有任何反应(变量没有改变),我试图打印创建按钮的承诺,但它显示'PromiseState:pending'。

我在某处编码错误吗?

谢谢。

// i is chatroom's name.
let ref = database.ref("chatroom/chat/" + i + "/user");

ref.once("value", src => {
    if (src.hasChild(user.uid)) {
        
        let add = new Promise(() => {
            $("#chatBtn").append(chatroomHText(i));
        });

        add.then(() => {
            $("#chat-" + i).click(() => {
                current_chatroom = i;
            });
        });
    }
});

function chatroomHText(i) {
    return ('<button type="button" class="w3-bar-item w3-button" id="chat-' + i + '">' + i + "</button>");
}

【问题讨论】:

    标签: javascript jquery database promise


    【解决方案1】:
    // i is chatroom's name.
    let ref = database.ref("chatroom/chat/" + i + "/user");
    
    ref.once("value", src => {
        if (src.hasChild(user.uid)) {
            
            let add = new Promise((resolve, reject) => {
                $("#chatBtn").append(chatroomHText(i));
                resolve(); // You are missing this part.
            });
    
            add.then(() => {
                $("#chat-" + i).click(() => {
                    current_chatroom = i;
                });
            });
        }
    });
    
    function chatroomHText(i) {
        return ('<button type="button" class="w3-bar-item w3-button" id="chat-' + i + '">' + i + "</button>");
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-26
      • 2021-05-31
      • 2019-01-12
      • 1970-01-01
      相关资源
      最近更新 更多