0

我有这段代码来捕获所有表单输入并且它正在工作,但是,我试图排除某个 div 中的那些,该 div 是 jsp 常见的下拉列表。我为此将 div 分配给一个类作为可能的解决方案。

这是代码的原始工作行:

$(':input', document.formName).change(function() { ...

然后我使用 if 语句:

if($('.className:not(.selected)')){ 
do something ...

但是 if 语句在某种程度上是不正确的。做这个的最好方式是什么?有没有办法将所有内容组合在一个语句中,或者 if 块是正确的方式,如果是这样,排除类的正确语法是什么?

4

2 回答 2

3

您可以.not在选择器中使用该类排除元素.selected

$(':input', document.formName).not('.selected').change(function() { ...

甚至

$(':input:not(".selected")', document.formName).change(function() { ...

这是一个小提琴

于 2012-05-02T17:57:24.287 回答
3

如果选择器正在执行过滤,则不需要使用if语句本身。如果您可以excluded在输入本身而不是在周围添加 css 类(例如)div,则以下内容将起作用

任何一个:

.not方法:(小提琴)_

$('form').find(':input').not('.excluded').change(function() {
    //your code
});

:not选择器:(小提琴

$('form').find(':input:not(".excluded")').change(function() {
    //your code
});
于 2012-05-02T18:13:17.110 回答