select2 multiple 按点击的顺序保存、展示(3.5.1版本)

项目中使用 select2 做文章关联标签,昨天项目二期会上产品提出个优化,说点击关联标签时保存的顺序和展示的顺序不一致,要优化成二者一致。

回到座位,测试了下,果真不一致,之前代码使用的是 $("#opt").select2('val') 来获取选中的标签 ID ,但是这种有个弊端,它不会按照你选中的顺序展示,而是按照一开始渲染的顺序展示,于是便出现了上述产品经理描述的情况,后来改成 $("#opt").select2('data') 便好了,不过这个返回的是对象数组,需要遍历下

$("#opt").select2('data').forEach(function (item) {
    console.log(item.id, item.text);
})

编辑时,展示添加时的顺序也得按照 $("#opt").select2('data', [{id:1, text:''}]) 来,若是按照 $("#tags").select2("val", ["5", "3", "4"]) 也是会按照渲染顺序来选中的

这里看看使用示例。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值