问题描述
无论选择多少个项目,我都只希望获得当前(单个)选定的标签。
我发现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>