Javascript jQuery只检查第一个表单
我的页面上有一张表格。所以我想用相应的按钮检查每个输入。所以我这样写了smth,它只检查第一个输入,即使我点击了第二个输入按钮Javascript jQuery只检查第一个表单,javascript,php,jquery,html,forms,Javascript,Php,Jquery,Html,Forms,我的页面上有一张表格。所以我想用相应的按钮检查每个输入。所以我这样写了smth,它只检查第一个输入,即使我点击了第二个输入按钮 <form target="myFrame" method="post" id="addProduct"> <fieldset> <input type="hidden" name="iProductAdd" value="6" /> <input type="nu
<form target="myFrame" method="post" id="addProduct">
<fieldset>
<input type="hidden" name="iProductAdd" value="6" />
<input type="number" onkeypress="return isNumberKey(event)" name="aProducts[6]" autocomplete="off" value="" maxlength="4" size="4" onclick="function()" class="quantity" />
<input type="submit" onclick="refreshIframe();" value="" class="addtobasket" id="addtobasket" />
</fieldset>
<fieldset>
<input type="hidden" name="iProductAdd" value="7" />
<input type="number" onkeypress="return isNumberKey(event)" name="aProducts[7]" autocomplete="off" value="" maxlength="4" size="4" onclick="function()" class="quantity" />
<input type="submit" onclick="refreshIframe();" value="" class="addtobasket" id="addtobasket" />
</fieldset>
<fieldset>
<input type="hidden" name="iProductAdd" value="4" />
<input type="number" onkeypress="return isNumberKey(event)" name="aProducts[4]" autocomplete="off" value="" maxlength="4" size="4" onclick="function()" class="quantity" />
<input type="submit" onclick="refreshIframe();" value="" class="addtobasket" id="addtobasket" />
</fieldset>
</form>
})) 您的问题是,您使用的ID与类一样。id在文档中应该是唯一的。因此,定义具有相同id的多个对象是一个错误。所有函数只会在第一次遇到时应用。要做您想做的事情,您必须使用类,因此以以下方式更改代码:
$(".addtobasket").css("background-image", "url('http://restorani.weby.biz/templates/default/img/tick-green.png')");
查找该类的所有元素。您的问题是,您使用的ID与类一样。id在文档中应该是唯一的。因此,定义具有相同id的多个对象是一个错误。所有函数只会在第一次遇到时应用。要做您想做的事情,您必须使用类,因此以以下方式更改代码:
$(".addtobasket").css("background-image", "url('http://restorani.weby.biz/templates/default/img/tick-green.png')");
查找该类的所有元素。您的问题是,您使用的ID与类一样。id在文档中应该是唯一的。因此,定义具有相同id的多个对象是一个错误。所有函数只会在第一次遇到时应用。要做您想做的事情,您必须使用类,因此以以下方式更改代码:
$(".addtobasket").css("background-image", "url('http://restorani.weby.biz/templates/default/img/tick-green.png')");
查找该类的所有元素。您的问题是,您使用的ID与类一样。id在文档中应该是唯一的。因此,定义具有相同id的多个对象是一个错误。所有函数只会在第一次遇到时应用。要做您想做的事情,您必须使用类,因此以以下方式更改代码:
$(".addtobasket").css("background-image", "url('http://restorani.weby.biz/templates/default/img/tick-green.png')");
查找该类的所有元素。我基本上同意这一点。但我不认为HTML规定了当你以这种方式滥用
id
时会发生什么;可能是某些浏览器或jQuery版本使用id为的最后一个元素,而不是第一个。mark91是正确的。另外:$('.quantity')
是一个jQuery元素,它引用3个不同的HTML元素,但是$('.quantity').val()
只告诉您第一个元素的值。因此,第一个数字输入控制所有3个提交按钮的颜色。这不是您想要的。@DavidKnipe,我不知道HTML是否指定了这一点,但在最常用的浏览器(即FX、Chrome)中,我可以确保行为是相同的:返回第一个元素。。。然而,我们谈论的是一个错误,因为不应该有两个元素具有相同的id。我基本上同意这一点。但我不认为HTML规定了当你以这种方式滥用id
时会发生什么;可能是某些浏览器或jQuery版本使用id为的最后一个元素,而不是第一个。mark91是正确的。另外:$('.quantity')
是一个jQuery元素,它引用3个不同的HTML元素,但是$('.quantity').val()
只告诉您第一个元素的值。因此,第一个数字输入控制所有3个提交按钮的颜色。这不是您想要的。@DavidKnipe,我不知道HTML是否指定了这一点,但在最常用的浏览器(即FX、Chrome)中,我可以确保行为是相同的:返回第一个元素。。。然而,我们谈论的是一个错误,因为不应该有两个元素具有相同的id。我基本上同意这一点。但我不认为HTML规定了当你以这种方式滥用id
时会发生什么;可能是某些浏览器或jQuery版本使用id为的最后一个元素,而不是第一个。mark91是正确的。另外:$('.quantity')
是一个jQuery元素,它引用3个不同的HTML元素,但是$('.quantity').val()
只告诉您第一个元素的值。因此,第一个数字输入控制所有3个提交按钮的颜色。这不是您想要的。@DavidKnipe,我不知道HTML是否指定了这一点,但在最常用的浏览器(即FX、Chrome)中,我可以确保行为是相同的:返回第一个元素。。。然而,我们谈论的是一个错误,因为不应该有两个元素具有相同的id。我基本上同意这一点。但我不认为HTML规定了当你以这种方式滥用id
时会发生什么;可能是某些浏览器或jQuery版本使用id为的最后一个元素,而不是第一个。mark91是正确的。另外:$('.quantity')
是一个jQuery元素,它引用3个不同的HTML元素,但是$('.quantity').val()
只告诉您第一个元素的值。因此,第一个数字输入控制所有3个提交按钮的颜色。这不是您想要的。@DavidKnipe,我不知道HTML是否指定了这一点,但在最常用的浏览器(即FX、Chrome)中,我可以确保行为是相同的:返回第一个元素。。。但是我们讨论的是一个错误,因为不应该有两个元素具有相同的id。