Jquery 检查下拉列表中当前选定的选项是否为最后一个选项的最佳方法是什么?
我有一个下拉列表,并已将更改事件处理程序绑定到该列表。每当用户选择一个新选项时,我想知道它是否是列表中的最后一个选项 令人烦恼的是,无论选择了哪个选项,下面代码段中的相关条件总是返回true:Jquery 检查下拉列表中当前选定的选项是否为最后一个选项的最佳方法是什么?,jquery,html-select,Jquery,Html Select,我有一个下拉列表,并已将更改事件处理程序绑定到该列表。每当用户选择一个新选项时,我想知道它是否是列表中的最后一个选项 令人烦恼的是,无论选择了哪个选项,下面代码段中的相关条件总是返回true: sel.change(function() { //this always returns true! if(jQuery('#' + this.id + ' option').is(':last')) { a
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')) {
...
}
有人知道更好的方法吗?看,不要发胖
sel.selectedIndex == sel.length-1
那是。嘿,这是另一个。。。它是“jqueryish”:
如果您有自己问题的解决方案,您可以将其添加为答案,而不是对问题进行编辑。此外,porneL的非jquery选项可能会稍微快一点。对于描述性问题标题,我承认+1更好。谢谢。没错,这看起来并不“jqueryish”,但是这个方法非常简单,不需要任何方便的包装。
$("select option:last").is(":selected")