所有,
我有两个选择框:
-
水果选择
-
FruitQuantity选择
根据Fruit中选择的选项,将影响FruitQuantity的选项 .
所以使用select2,我想简单地通过这样做替换select中的所有选项 .
var options = [];
$.each(pageData.products[selectedFruit].quantities, function (key, value) {
options.push({
text: value.quantity,
id: value.quantity,
})
});
console.log(options.length);
$quantitySelect.select2( { data : options });
问题是select2只是将新数据附加到已经存在的内容上 . 我希望它清除所有选项并添加新选项 .
否则我的选择框会填满不正确的选项 .
我试过这个问题Clear dropdown using jQuery Select2
$quantitySelect.select2('data', null)
这没什么,但它不清楚 .
帮助我欧比万,你是我唯一的希望 .
3 回答
假设您使用select2 4.0.0和以下类型的HTML:
您需要在
"#fruits"
控件上侦听"change"
事件,并且每次更改时,您都需要使用相关数据重新填充"#quantities"
下拉列表 .这是它的样子:
你可以在这个JSFiddle中看到这个
首先清空列表然后再次重新初始化它
https://jsfiddle.net/qum29ken/
试试这个
$quantitySelect.val(null).trigger("change");
假设你已经初始化了select2 .参考 - https://select2.github.io/examples.html#programmatic