选择的jquery插件-获取多项选择的所选文本/标签而非值

问题描述

我有一个chosen多选框,如下所示

无论选择多少个项目,我都只希望获得当前(单个)选定的标签
我发现params.selected可以获取选定的值,但是我需要的是选定的标签

我也不能使用$("#purposes option:selected").text(),因为它有多个选定的标签

$("#purposes").chosen().on("change",function(event,params) {
  console.log(params.selected); //this works for value only
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/chosen/1.8.7/chosen.jquery.min.js"></script>


<select class="chosen-select" id="purposes" multiple data-placeholder="Purposes">
  <option value="1">Massaging</option>
  <option value="2">Downloading</option>
  <option value="3">Research</option>
  <option value="4">Travel arrangements</option>
  <option value="8">Banking</option>
  <option value="9">OTHERS</option>
</select>

解决方法

您可以找到具有所选值的选项,并通过.text()

来获得其标签。
$(this).find(`option[value=${params.selected}]`).text()

$("#purposes").chosen().on("change",function(event,params) {
  console.log($(this).find(`option[value=${params.selected}]`).text())
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/chosen/1.8.7/chosen.jquery.min.js"></script>
<select class="chosen-select" id="purposes" multiple data-placeholder="Purposes">
  <option value="1">Massaging</option>
  <option value="2">Downloading</option>
  <option value="3">Research</option>
  <option value="4">Travel arrangements</option>
  <option value="8">Banking</option>
  <option value="9">OTHERS</option>
</select>