Jade - 为什么只有循环中的第一个按钮才有效

时间:2016-11-29 12:56:39

标签: javascript button pug

在玉视图模板中,循环中创建了一个按钮。该按钮调用一个函数(在公共.js lib中)并发送参数。 在循环中有n个项目,n个按钮,但单击第一个时只有一个动作。

each game in games
   td= moment(game.game.date).format('YYYY-MM-DD h:mm:ss a')
   if (game.game.users.white==user.key)
      td= game.game.users.black
   else
      td= game.game.users.white
      td= game.game.id
      td
           input#username(type="hidden", value="#{user.key}", name="username")
           input#rgame(type="hidden", value="#{game.game.id}", name="rgame")
           button#resumegame Play

1 个答案:

答案 0 :(得分:0)

您正在循环中创建具有相同ID #resumegame的按钮。 id表示一个唯一的元素,因此您在单击时附加到它的事件将仅适用于第一个按钮#recoverygame。

解决此问题的一种方法是使用类而不是id,例如:

function betInput(thisRoll) {
    var x;
    if (thisRoll === 'green') {
        x = base_bet;
        n = 0;
    } else {
        n = n + 1;
    }
    return x;
}

在你的js中,在类上添加一个事件监听器:

each game in games
   td= moment(game.game.date).format('YYYY-MM-DD h:mm:ss a')
   if (game.game.users.white==user.key)
      td= game.game.users.black
   else
      td= game.game.users.white
      td= game.game.id
      td
           input#username(type="hidden", value="#{user.key}", name="username")
           input#rgame(type="hidden", value="#{game.game.id}", name="rgame")
           button.resumegame(data-id="#{game.game.id}") Play