2016-11-29 75 views
0

在玉視圖模板中,有一個循環創建的按鈕。該按鈕調用一個函數(在公共.js庫中)併發送參數。 在循環中有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 
+0

:要解決這個問題是使用一類,而不是ID

的一種方式,是這樣的:

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 

而在你的JS,在類中添加事件偵聽器看看,你可以格式化該帖子嗎? – xShirase

+0

對不起,第一篇文章和我在iPhone上(在途中) – voltaire

+0

沒問題,現在好多了,至少我們可以看到你在說什麼:) – xShirase

回答

0

您正在循環中創建具有相同ID #resumegame的按鈕。 id代表一個獨特的元素,因此您點擊時附加的事件只會在第一個按鈕#resumegame上運行。這是痛苦的

$('.resumegame').on('click',function(){ 

    var gameId = $(this).data('id'); 

    // Do whatever you want here, 
    // you know the id of the button that has been clicked via the data-id attribute 

}); 
+0

謝謝(我們該怎麼避免這種情況?) – voltaire

+0

避免什麼?我提供了一個解決方案的想法 – xShirase

+0

;)在stackoberflow的建議,它說避免評論與「謝謝」。我一定會嘗試你的解決方案。如何在你的onclick事件函數(你的//做任何你想做的事情)的情況下如何在沒有另外點擊的情況下調用我的函數(在.js文件中)?對不起,我用不寫在客戶端的功能。 – voltaire

相關問題