当前位置:  开发笔记 > 前端 > 正文

检查下拉列表中当前所选选项是否为最后一个选项的最佳方法是什么?

如何解决《检查下拉列表中当前所选选项是否为最后一个选项的最佳方法是什么?》经验,为你挑选了2个好方法。

我有一个下拉列表,我已经绑定了一个更改事件处理程序.每当用户选择新选项时,我想知道它是否是列表的最后一个选项.

令人讨厌的是,无论选择了哪个选项,下面代码段中的相关条件始终返回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')) {
...

我究竟做错了什么?如果你知道,为什么这些测试都评估为真?

编辑:找到解决方案:

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

有谁知道更好的方法吗?



1> Kornel..:

看,没有臃肿!

 sel.selectedIndex == sel.length-1

这是W3C标准解决方案.



2> 小智..:

嘿,这是另一个......它是"jQuerish":)

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

推荐阅读
吻过彩虹的脸_378
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有