【问题标题】:How to get the latest option selected in a multiple select box如何在多选框中选择最新的选项
【发布时间】:2013-09-30 05:57:20
【问题描述】:

我想允许用户使用多选框 - 并找出他点击的最新选项。

我的第一次尝试:

this.options.selectedIndex

这总是给我选择的第一个索引,即使它不是最后一个

我的第二次尝试:

$(".application_selection option:selected:last").val()

这总是给我选择的最后一个选项,而不是最新的一个

有人可以帮助我吗?

【问题讨论】:

  • 您何时需要此信息?在select 元素的事件处理程序中?在 Firefox 中,这很容易通过 onclick 处理程序实现,e.target 指的是被点击的option,不幸的是其他浏览器会返回 select 元素。

标签: javascript jquery option selected


【解决方案1】:

如果现在问题正确:

您可以为选择添加一个单击事件并保存最后一次单击的选项,您将在那里拥有最后一个元素存储:

var lastClicked= null;
$('.application_selection').click(function(){
    lastClicked= this.value;
});
//use lastClicked it is latest clicked option

【讨论】:

  • 看起来 OP 想要跟踪最后点击的选项。 val() 返回的数组中的顺序与options 在select 元素中的顺序相同。
  • Teemu 是正确的.. 删除“最后一个”将始终检索第一个选择,即使它不是最后一个
  • 我共享的 jquery 文档....上面提到如果启用了多选,它会返回数组,您需要将 val 分配给数组变量
  • 请阅读完整的答案...如文档中所写,the .val() method returns an array containing each selected option;
  • @ZaheerAhmed 我猜 OP 知道 jQuery 返回一个选定选项的数组,但事实是,你不知道最后一次点击的是哪个 option,这是这里的实际问题...
猜你喜欢
  • 2010-10-06
  • 2019-12-29
  • 2012-04-13
  • 2014-12-09
  • 1970-01-01
  • 2011-12-30
  • 2014-12-23
  • 2021-06-17
  • 1970-01-01
相关资源
最近更新 更多