我有一个有很多表单的页面,用户将在该页面上选择一些内容.当用户做的时候,我需要把这个元素放在别的地方,真的很像购物车.但是我似乎不能比页面上的第一个表单获得更多的实际工作.
我尝试过多件事情:
我尝试过多件事情:
>给所有的表单相同的ID,这只会使我想要的第一种形式出现,给我这个表单的数据.
>再次给他们所有相同的ID,这次为ID附加一个唯一的标识符,但是当然,我的jQuery $(‘#something’)不能捕获它,因为它不匹配.
所以我在想我会怎么做我只需要从页面上提交的表单接收数据.如上所述,我可以给他们所有的一些前缀,就像我现在一样,但是我不知道如何匹配它.
帮助会非常好评!
HTML:
<form id="something-0"><input type="hidden" value="0"><input type="submit"></form> <form id="something-1"><input type="hidden" value="1"><input type="submit"></form>
jQuery:
$("#something-%").submit(function(e) { e.preventDefault(); $("#some-span").html(data); });
我希望#something-%接受“ – ”后面的任何内容,我希望你明白.
解决方法
作为一般答案,要分类一组元素,请使用类属性,给每个元素相同的类名.然后,您可以选择该类的元素.元素可以有多个类.
$(".something");
如果你必须使用id,你可以使用一个属性选择器:
$("[id^='something']"); // all elements with an id beginning with 'something' $("[id$='something']"); // all elements with an id ending with 'something'
对于这个具体的问题,由于你想对页面中的任何表单采取行动,最简单的选择就是使用元素名称选择器:
$("form");
无论选择器如何,您可以通过在submit()处理程序中引用此方式来识别提交的表单:
$("form").submit(function (e) { e.preventDefault(); var formId = this.id; // "this" is a reference to the submitted form });