JQuery获取文本concats名称

时间:2018-01-08 10:07:52

标签: jquery

我不确定这里发生了什么,但我以前从未见过这种情况。

我正在尝试获取选项标记的innerHTML,但我得到的是所有选定的文本值,而不是仅选择的那个。使用$(this).text()为我提供了当前所有选项:

  

Bill MunsonAmy HernaiAlex Antistic

如果我使用像$("#emp option:selected").text()这样的元素,它给了我当前选项,但是,如果我从选择中选择第二个名称,我不仅会看到当前选定的文本,还会看到来自之前的点击也是如此。

我不知道它是否重要,但所有选项都是用JQuery动态附加的。

如何才能同时获取当前所选项目而不是所有项目?

编辑:

$select.on('change', function(evt, params) {
  var name  = $("#emp option:selected").text();
  alert(name); // outputs concatenated string of names
}

<select id="emp" class="chosen-select" multiple></select>

1 个答案:

答案 0 :(得分:1)

您还可以使用以下代码获取multiple select element中最后选择的选项文字: -

$(this).find("option:selected").last().text();

示例示例: -

$("#emp").on('change',function(){
  console.log($(this).find("option:selected").last().text());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="emp" multiple>
  <option value="1">Bill</option>
  <option value="2">MunsonAmy</option>
  <option value="3">HernaiAlex</option>
  <option value="4">Antistic</option>
</select>