【发布时间】:2020-10-19 14:51:24
【问题描述】:
当我更改另一个 select2 下拉列表的值时,我正在尝试以编程方式更改 select2 下拉列表中的数据集。
我遇到的问题很奇怪,因为它似乎改变了徽章值,而不是选项本身。您可以在徽章中看到 2 和 3,但一个数据集中的文本值完全不同,但不会更改选项。
这是一个展示我的意思的小提琴。 https://jsfiddle.net/jamiebrs/8axy7123/
这是formatText 函数:
function formatText (icon) {
if(icon.badge == undefined){
return $('<span>' + icon.text + '</span>');
} else {
return $('<span><span class="badge">'+ icon.badge + '</span> ' + icon.text + '</span>');
}
}
这是尝试触发#fam选项时更改#products 987654324选项的事件。 eval(d) 调用采用选定的值并检索我定义的相应变量,其中包含 #products 的正确选项。
$('#fam').select2().on('change', function() {
d = $(this).val();
$('#products').val(null).trigger('change');
$('#products').select2({
data: eval(d),
width: "100%",
theme: 'bootstrap4',
placeholder: "Select item",
allowClear: true,
templateSelection: formatText,
templateResult: formatText
}).trigger('change');
})
【问题讨论】:
标签: jquery forms jquery-select2