2017-05-31 40 views
-1

我使用这段代码,但没有工作,并没有显示警报,当我点击“释放”按钮。 我认为我的DOM Html和Jquery的问题已经可以使用了,但我不解决这个问题。如何点击jquery中的按钮和提醒消息?

HTML:

<table class="table" id="tableCompleted"> 
<thead> 
    <tr> 
     <th>Name</th> 

    </tr> 
</thead> 
<tbody> 
    <tr id="1"> 
     <td class="noEdit"> 
      <span id="s1">22</span> 
      <div> 
      <input id = "btn1" class="num" type="submit" value="Release"/> 
      </div> 
      <input type="number" id="num1" class="num"/> 
     </td> 
    </tr> 
    <tr id="2" class="2"> 
     <td> 
      <span id="s2">22</span> 
      <div> 
      <input id = "btn2" class="num" type="submit" value="Release"/> 
      </div> 
      <input type="number" id="num2" class="num"/> 
     </td> 
    </tr> 
    <tr id="3" class="3"> 
     <td> 
      <span id="s3">22</span> 
      <div> 
      <input id = "btn3" class="num" type="submit" value="Release"/> 
      </div> 
      <input type="number" id="num3" class="num"/> 
     </td> 
    </tr> 
</tbody> 

JQuery的:

$(document).ready(function() 
{ 
    var ID,tmp_ID,count,flag=0; 

    $("tr").click(function() 
    { 
     ID = $(this).attr('id'); 
     /*$("#s" + ID).hide(); 
     $("#num" + ID).show(); 
     $("#22").show();*/ 
    }); 
    $("#"+ID).click(function(){ 
      alert("button"); 
     }); 
}); 

请帮我作秀警报。

+1

的可能的复制[JQuery的在按钮单击警报问题(https://stackoverflow.com/questions/39180342/jquery-on-button-click-alert-issue) –

+0

嗨,警报工作简单,但当我在$(“#”+ ID)中使用ID时,它不起作用。 –

+0

您是否已将'ID'登录到控制台以检查它是否未定义? – samiles

回答

-2

您可以直接在提交按钮上听onclick事件,并使用jQuery获取“父tr id” closest函数,该函数使用指定的选择器查找“最近的”父项(在本例中为tag = tr)。

请参阅以下内容:

$(document).ready(function() 
 
{ 
 
    var ID,tmp_ID,count,flag=0; 
 

 
    $(":submit").click(function() 
 
    { 
 
     ID = $(this).closest('tr').attr("id"); 
 
     alert("button " + ID); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table class="table" id="tableCompleted"> 
 
<thead> 
 
    <tr> 
 
     <th>Name</th> 
 

 
    </tr> 
 
</thead> 
 
<tbody> 
 
    <tr id="1"> 
 
     <td class="noEdit"> 
 
      <span id="s1">22</span> 
 
      <div> 
 
      <input id = "btn1" class="num" type="submit" value="Release"/> 
 
      </div> 
 
      <input type="number" id="num1" class="num"/> 
 
     </td> 
 
    </tr> 
 
    <tr id="2" class="2"> 
 
     <td> 
 
      <span id="s2">22</span> 
 
      <div> 
 
      <input id = "btn2" class="num" type="submit" value="Release"/> 
 
      </div> 
 
      <input type="number" id="num2" class="num"/> 
 
     </td> 
 
    </tr> 
 
    <tr id="3" class="3"> 
 
     <td> 
 
      <span id="s3">22</span> 
 
      <div> 
 
      <input id = "btn3" class="num" type="submit" value="Release"/> 
 
      </div> 
 
      <input type="number" id="num3" class="num"/> 
 
     </td> 
 
    </tr> 
 
</tbody>

我希望它可以帮助你,再见。

+0

谢谢,这是工作。 :) –

+0

我很高兴它帮助你,再见。 – Alessandro

-1

你并不需要做的一切,只听一个点击您的input[type='submit']

$(function(){ 
    var ID,tmp_ID,count,flag=0; 

    $("input[type='submit']").click(function(){ 
     ID = $(this).parent().parent().attr('id'); 
     alert("button"); 
    }); 
}); 

这里是工作的小提琴:https://jsfiddle.net/L34eLL40/3/

+0

你为什么低估了所有其他答案和问题呢? – Alessandro

+0

我低估了两个不好的答案。没有碰到别的东西。 – Zenoo

+0

这真的很奇怪,五个答案,只是你的不downvoted。 – Alessandro

-2

$(document).ready(function() 
 
{ 
 
    var ID,tmp_ID,count,flag=0; 
 

 
    $("tr").click(function() 
 
    { 
 
     ID = $(this).attr('id'); 
 
     $("#"+ID).click(function(){ 
 
      alert("button with ID="+ID); 
 
     }); 
 
    }); 
 
     
 
     });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table class="table" id="tableCompleted"> 
 
<thead> 
 
    <tr> 
 
     <th>Name</th> 
 

 
    </tr> 
 
</thead> 
 
<tbody> 
 
    <tr id="1"> 
 
     <td class="noEdit"> 
 
      <span id="s1">22</span> 
 
      <div> 
 
      <input id = "btn1" class="num" type="submit" value="Release"/> 
 
      </div> 
 
      <input type="number" id="num1" class="num"/> 
 
     </td> 
 
    </tr> 
 
    <tr id="2" class="2"> 
 
     <td> 
 
      <span id="s2">22</span> 
 
      <div> 
 
      <input id = "btn2" class="num" type="submit" value="Release"/> 
 
      </div> 
 
      <input type="number" id="num2" class="num"/> 
 
     </td> 
 
    </tr> 
 
    <tr id="3" class="3"> 
 
     <td> 
 
      <span id="s3">22</span> 
 
      <div> 
 
      <input id = "btn3" class="num" type="submit" value="Release"/> 
 
      </div> 
 
      <input type="number" id="num3" class="num"/> 
 
     </td> 
 
    </tr> 
 
</tbody>

1
<!DOCTYPE html> 
<html lang="en"> 
<head> 

    <meta charset="utf-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
</script> 
</head> 
<body> 



    <table class="table" > 
    <thead> 
     <tr> 
      <th>Name</th> 

     </tr> 
    </thead> 
    <tbody> 
     <tr id="1"> 
      <td class="noEdit"> 
       <span id="s1">22</span> 
       <div> 
       <input id = "btn1" class="num" type="submit" value="Release"/> 
       </div> 
       <input type="number" id="num1" class="num"/> 
      </td> 
     </tr> 
     <tr id="2" class="2"> 
      <td> 
       <span id="s2">22</span> 
       <div> 
       <input id = "btn2" class="num" type="submit" value="Release"/> 
       </div> 
       <input type="number" id="num2" class="num"/> 
      </td> 
     </tr> 
     <tr id="3" class="3"> 
      <td> 
       <span id="s3">22</span> 
       <div> 
       <input id = "btn3" class="num" type="submit" value="Release"/> 
       </div> 
       <input type="number" id="num3" class="num"/> 
      </td> 
     </tr> 
    </tbody> 
<table> 
<script> 
     jQuery(document).ready(function() 
     { 
      jQuery("tr>td input[type=submit]").each(function(){ 
      jQuery(this).on("click",function(){ 
      console.log("clicked"); 
     }); 
     }); 
     }); 
</script> 
</div> 

</body> 
</html> 
+0

始终使用控制台查看点击是否正常工作 –

相关问题