带有多个按钮的Ajax函数,用于.click事件

时间:2014-07-18 19:34:57

标签: javascript html ajax

我有一个带有两个具有相同名称和ID的按钮的表单(不要问我为什么,我没有创建表单lol)。我正在尝试使用Ajax .click函数在单击按钮时运行。但是,该功能仅适用于"批准"按钮而不是"转发"按钮。无论如何从前进按钮调用此功能?

<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
  $("#btnApprove").click(function(){
   alert("Button was clicked.");
  });
});
</script>
</head>
<body>
    <input type="submit" name="btnSubmit" id="btnApprove" value="Approve" tabindex="1102" />

    <input type="submit" name="btnSubmit" id="btnApprove" value="Forward" tabindex="1102" />
</body>
</html>

我修改了http://www.w3schools.com/jquery/tryit.asp?filename=tryjquery_event_click

中的代码

3 个答案:

答案 0 :(得分:2)

ID必须是唯一的。即使它们不是唯一的,jQuery也只选择第一次出现。 您应该将ID更改为唯一。

但无论如何,你选择每个名字:

$("input[name=btnSubmit]").click(function(){
    alert("Button was clicked.");
}); 

答案 1 :(得分:0)

页面上没有两个元素应具有相同的ID。

$(&#34;#btnApprove&#34;)映射本地document.getElementById方法,该方法返回该id元素的第一个实例,因此该事件仅绑定到第一个按钮

答案 2 :(得分:0)

为两个按钮添加一个class属性,将它们放在同一个类中 那么你应该能够做类似

的事情
  $('.NameOfClassHere').click(function(){

  $('.NameOfClassHere').live('click', function () {

这适用于该类中所有按钮的click事件,因此可以避免使用重复代码。此外,同意您不应使用重复的ID。希望这会有所帮助。