将所选选项与 jQuery 列表中的最后一个选项进行比较
Compare selected option with last in list in jQuery
在 HTML 年的 select 下拉列表中,我想将 selected 选项与列表中的最后一个选项进行比较。像这样:
$('#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() ) {
$('#year').last()
基本上是 $('#year')
,last()
取 jQuery 集合中的最后一个条目,而 $('#year')
只有一个条目。
要获得该列表中的最后一个选项,您可以使用 $('#year option').last()
:
if ( $('#year option:selected').val() != $('#year option').last().val() ) {
// −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−^^^^^^^
另一种选择(可以说)是在基础 HTMLSelectElement
:
上使用 selectedIndex
var year = $("#year")[0];
if (year.selectedIndex === year.options.length - 1) {
如果您有具有相同值的选项,那略有不同,但通常您没有,在这种情况下它会做同样的事情。
在 HTML 年的 select 下拉列表中,我想将 selected 选项与列表中的最后一个选项进行比较。像这样:
$('#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() ) {
$('#year').last()
基本上是 $('#year')
,last()
取 jQuery 集合中的最后一个条目,而 $('#year')
只有一个条目。
要获得该列表中的最后一个选项,您可以使用 $('#year option').last()
:
if ( $('#year option:selected').val() != $('#year option').last().val() ) {
// −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−^^^^^^^
另一种选择(可以说)是在基础 HTMLSelectElement
:
selectedIndex
var year = $("#year")[0];
if (year.selectedIndex === year.options.length - 1) {
如果您有具有相同值的选项,那略有不同,但通常您没有,在这种情况下它会做同样的事情。