我使用 select2 来获取选择框中的值,但我的问题是,我只想获取选择框中的第一项,而忽略逗号分隔的项目,如下所示:
$(function() {
$('.select2').select2({
theme: "classic",
}).on('change', function(e) {
var dataselected = $.map($(".select2 option:selected"), function(el, i) {
return $(el).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/select2/4.0.6-rc.0/js/select2.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.6-rc.0/css/select2.min.css" rel="stylesheet" />
<select class="form-control select2" multiple="multiple">
<option value="donut" id="first">donut-milk</option>
<option value="orange" id="first">orange-milk</option>
</select>
这产生:
["donut-milk","orange-milk"]
如何实现此输出:
["donut","orange"]
最佳答案
你可以做的就是当你把文本从“-”中分割出来并得到第0个元素。这意味着拆分后您将得到一个数组。
举个例子:
var dataselected = $.map($(".select2 option:selected"),function (el, i){
var elemText = $(el).text().split('-')[0]; //like this
return elemText;
});
关于javascript - Select2 获取文本 onchange - 逗号分隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55176374/