2017-06-12 68 views
0

我在表格中有2個按鈕。一個「開始」按鈕和一個「完整」按鈕。現在我使用這段代碼來運行AJAX調用。使用Jquery選擇正確的綁定按鈕

$(document).ready(function(){ 

    $(document).on("click", "button", function(){ 
     rowID = "row" + this.id; 
     $("#" + rowID).load("eventHandlersPHP/updateStart.php", { 
      roomID: this.id 
     }); 
    }); 

    $(document).on("click", "button", function(){ 
     rowID = "row" + this.id; 
     $("#" + rowID).load("eventHandlersPHP/updateComplete.php", { 
      roomID: this.id 
     }); 
    }); 

}); 

現在我的代碼不知道要抓取哪個按鈕,只是隨機選擇要運行的代碼。 如何僅選擇該行中的第一個按鈕或第二個按鈕並仍然綁定它。

+0

擺脫其中一個事件綁定,並添加條件邏輯來檢查「this.id」是什麼。如果它是你的開始按鈕,則調用第一個URL,如果它是完整的,則調用另一個。如果您的ID不表示單擊了哪個按鈕,請考慮使用[數據屬性](https://developer.mozilla.org/en-US/docs/Learn/HTML/Howto/Use_data_attributes)。我還建議包括您的HTML標記,以便這是一個[最小,完整,可驗證的示例](https://stackoverflow.com/help/mcve)。 – Santi

+0

謝謝,這更有意義,但如果this.id以「S」開頭或如果this.id以「C」開頭,我將如何選擇。 –

+0

您可以使用data-id屬性來存儲id按鈕。然後點擊時得到它像$(this).attr('data-id')...問候 – Albeis

回答

1

改變你的選擇:

$('button:nth-child(1)').click(function(){ 
... 
}) 
$('button:nth-child(2)').click(function(){ 
... 
}) 

或用戶的JavaScript調用點擊HTML代碼事件:

在HTML:

<button onclick="fun1()">btn1</button> 

在javascript:

function fun1(){ 
... 
} 
0

您可以設置一個條件來檢查按鈕的文本,並使用它來選擇要加載的模板。這也可以讓你結合你的兩個功能。

$(document).ready(function(){ 

    $(document).on("click", "button", function(){ 
     rowID = "row" + this.id; 
     if ($(this).text() == "start"){ 
      $("#" + rowID).load("eventHandlersPHP/updateStart.php", { 
       roomID: this.id  
      }); 
     }else { 
      $("#" + rowID).load("eventHandlersPHP/updateComplete.php", { 
      roomID: this.id 
      }); 
      } 
});