Select2单选赋值与初始化失败解决方法(天坑)

最近前端实习,要写一些后台管理系统的页面
用了Bootstrap4,引入了Select2这个插件(https://select2.github.io/
一个小Bug花了两个多小时都搜到谷歌才解决,废话少说直接上问题

在这里插入图片描述
写了一个如上图所示的表单,下拉框用是用Select2插件,希望实现一个功能:点击【重置】按钮后可以初始化上面的五个输入。
就拿”车辆年份“来说
在这里插入图片描述
实现代码如下(记得先引入Select2的CSS和JS文件)

//HTML
<div>
	<label>车辆年份</label>
	<select class="select2_carYear form-control">
		<option value="2017">2017</option>
	</select>
</div>

//JS
<script>
    $('#startData .input-group.date,#endData .input-group.date').datepicker({
        startView: 2,
        todayBtn: "linked",
        keyboardNavigation: false,
        forceParse: false,
        autoclose: true,
        format: "yyyy/mm/dd"
    });
 </script>

然后给按钮添加一个点击事件

$('#resetbtn').on('click', function () {
    $(".select2_carYear").select2("val", ""); 
})

上面的这句代码:$(".select2_carYear").select2(“val”, “”); 可以清空select的内容

按理来说这样写就能实现功能了!可是点了依旧没反应,检查之后发现点击事件是可以正常触发的,唯独上面那句代码貌似没有执行?!

为什么???

百般周折,终于在国外的一个论坛里找到的原因(https://www.javaear.com/question/39627864.html

原因就是!:

页面可能两次加载了jQuery。jQuery第二次加载时会删除已注册的插件!!!

简单的说就是由于我的 A.html 页面引入了 B.html 文件,而我在 A.html 和 B.html 同时都引入了jQuery文件!

值得注意的是

脚本加载应按正确的顺序进行:

  1. jQuery
  2. select2
  3. js代码
  4. 并且jQuery应该只加载一次。

我的天,这谁想到的???

最后问题还是解决了……

总之还是记录一下,前端开发会有很多坑,加油吧!

还有在解决问题过程中看到的比较好的博文:
https://www.jiangruitao.com/library/select2-get-set-init-value/
(select2单选多选取值赋值与设置初始化默认值)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值