将所选选项与jQuery中的最后一个列表进行比较
在HTML下拉列表中选择年份,我想将所选选项与列表中的最后一个选项进行比较。像这样:将所选选项与jQuery中的最后一个列表进行比较,jquery,jquery-selectors,Jquery,Jquery Selectors,在HTML下拉列表中选择年份,我想将所选选项与列表中的最后一个选项进行比较。像这样: $('#YRNext').click(function() { if ( $('#year option:selected').val() != $('#year').last().val() ) { console.log($('#year').last().val()) console.log($('#year option:selected').val())
$('#YRNext').click(function() {
if ( $('#year option:selected').val() != $('#year').last().val() ) {
console.log($('#year').last().val())
console.log($('#year option:selected').val())
$('#year option:selected').next('option').prop('selected', 'selected');
$('#year').trigger('change');
};
});
但是,if语句不起作用。我总是在同一年收到安慰信息。
我做错了什么
注意:我也试过:
if ( ! $('#year option:selected').is( $('#year').last() ) {
$(“#年”).last()
基本上是$(“#年”)
,取jQuery集中的最后一个条目,$(“#年”)
只有一个条目
要获取该列表中的最后一个选项,可以使用$(“#year option”)。last()
:
另一个选项(事实上)是在基础HTMLSelectElement
上使用selectedIndex
:
var year = $("#year")[0];
if (year.selectedIndex === year.options.length - 1) {
如果您有具有相同值的选项,但通常没有,则情况略有不同。在这种情况下,它将执行相同的操作。Ahhh。。。。是的,谢谢。我应该看到的。(我将使用第一种解决方案)
var year = $("#year")[0];
if (year.selectedIndex === year.options.length - 1) {