我有一个带有两个具有相同名称和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
中的代码答案 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。希望这会有所帮助。