2017-06-12 29 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 
      }); 
      } 
});