Добавить функцию change () ко всем, кроме последнего элемента класса - PullRequest
0 голосов
/ 04 июня 2010

Я использую jquery change () для выполнения действий при изменении SELECT определенного класса, однако я не хочу, чтобы последний выпадающий в DOM этого класса выполнял действие.

Я пытался

$("select.prodOption").change(function(){
        if($(this) !== $("select.prodOption").filter(':last')){
            //do stuff
        }
 });

надеясь, что вызываемая функция сначала проверит, является ли это последним элементом, и выполнит действие, только если false.

Я также попытался добавить пустую функцию отдельно к последнему элементу, надеясь, что это перевесит предыдущий вызов, но вместо этого будут выполняться оба.

$("select.prodOption").filter(':last').change(function(){ /*do nothing*/ });

У кого-нибудь есть идеи, как я передаю вызов onchange всем, кроме последнего элемента класса.

Ответы [ 3 ]

1 голос
/ 04 июня 2010

Вы можете сделать это с помощью селектора :not() , чтобы отменить :last, например:

$("select.prodOption:not(:last)").change(function(){
  //do stuff
});
1 голос
/ 04 июня 2010

Если я правильно вас понял, вопрос:

$("select.prodOption").not(':last').change(function(){          
        // do stuff
});

должен это сделать

1 голос
/ 04 июня 2010

лол на /*do nothing*/, попробуйте

$("select.prodOption:not(:last)").change(function(){...});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...