此Meteor客户端代码尝试在.serializeArray
上应用jQuery form
,但不会在具有类inactive
const inputData = $('form:not[class="inactive"]').serializeArray();
为什么失败以及如何解决?感谢
答案 0 :(得分:2)
从根本上说,要将元素保留在serializeArray
之外,您需要将其禁用或删除name
。例如:
const inputData = $('form')
.find('.inactive')
.prop("disabled", true)
.end()
.serializeArray();
这:
disabled
.end()
)重新尝试使用的:not
选择器,存在一些问题:
您已在[]
条件
()
代替:not
使用类
您将其应用于form
,而不是
但由于您需要在表单上调用serializeArray
,我们需要完全不同的方法(如上所述)。
答案 1 :(得分:1)
使用:not
选择器时,请注意以下事项:
()
代替:not
[]
作为属性,请使用类选择器class
内的元素,因此form
和form
之间需要有空格,否则您只会选择:not
这将是一个正确的元素选择器:
all forms without .inactive class
要正确使用const inputData = $('form :not(.inactive)');
,请查看@ T.J.Crowder的答案!