Каков наилучший способ проверить, является ли выбранная в данный момент опция в раскрывающемся списке последней?

У меня есть раскрывающийся список, и я привязал к нему обработчик события изменения. Всякий раз, когда пользователь выбирает новый параметр, я хочу знать, является ли он последним вариантом списка.

Досадно, что соответствующее условие в фрагменте ниже всегда возвращает true, независимо от того, какой вариант был выбран:

        sel.change(function() {
            //this always returns true!
            if(jQuery('#' + this.id + ' option').is(':last')) {
                alert('hello I am the last option');
                inputDiv.show();
                inputDiv.find("input").attr('disabled',false);
            } else {
                inputDiv.hide();
                inputDiv.find("input").attr('disabled',true);
            }
        });

Даже если я это сделаю, результат будет таким же:

if(jQuery('#' + this.id + ' option:selected').is(':last')) {
...

Что я делаю неправильно? И если вы знаете, почему эти тесты оцениваются как истинные?

EDIT: Найден решение:

if(jQuery('#' + this.id + ' option:last').is(':selected')) {
...
}

Кто-нибудь знает лучший способ сделать это?

Ответ 2

Эй, вот еще один... и это "jQuerish":)

$("select option:last").is(":selected")