如何选择表单的所有子元素?

3

我有几个表单,其中一些是动态添加到我的页面的。它们都共享相同的类别,但没有唯一的ID。对于每个表单,当用户点击提交按钮时,我需要迭代相应表单中的所有复选框并执行一些逻辑操作。我正在使用jquery v2.1.1。目前,我的代码选择了所有表单中的所有复选框。

这是我的javascript代码,使用了jquery。

$document.on("submit","form.myclazz", function() {
 $("input[type=checkbox]").each(function() {
  console.log(this.name + " " + $(this).is(":checked"));
 });
});

我只想选择提交的表单中的复选框。我尝试了以下选择器语法,但这没起作用。

$("> input[type=checkbox]").each(function() { ... });

表单会被附加到一个 div 中,HTML 如下所示:
<div id="myforms">
 <form class="myclazz"> ... <input type="checkbox" name="x">X ... <input type="submit"> </form>
 <form class="myclazz"> ... <input type="checkbox" name="y">Y ... <input type="submit"> </form>
</div>

1
“子元素”指的是所有子节点,对吗?不包括表单中的<sub>元素? - Mr Lister
2个回答

4
this的实例添加到您的选择器中,以获取该表单的子元素:
$("input[type=checkbox]", this).each(function() {

1
编辑:

jQuery(".myclazz input[type=submit][clicked=true]").parents("form:first") 

应该在on("submit")内部给你表单

如果您不使用输入更改input[type=submit][clicked=true]为提交表单所使用的任何内容,如果它在form标签内,则为button[type=submit]


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接