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

news/2024/7/10 23:13:59 标签: javascript, css, html5, jquery

最近前端实习,要写一些后台管理系统的页面
用了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单选多选取值赋值与设置初始化默认值)


http://www.niftyadmin.cn/n/1164760.html

相关文章

Select插件可输入可选择模糊搜索(jquery.editable-select插件)

本文最终实现效果如下&#xff1a; 正文开始 在&#xff1a;使用Select2实现下拉与搜索 这篇博文后&#xff0c;因为需求改变&#xff0c;需要将下拉框的搜索区域挪到上面显示的位置&#xff0c;也就是将区域1和2合并 希望实现一个类似百度输入的搜索提示&#xff0c;我们使用…

点击echarts柱状图动态改变数据项颜色样式

首先附上参考文章连接&#xff1a;https://blog.csdn.net/weixin_42870683/article/details/103528254添加链接描述 今天来实现点击echarts柱状图&#xff0c;动态改变柱状图数据项颜色样式的案例。只要认真做&#xff0c;很容易学会~ 首先引入ECharts.js文件 <!-- 引入 …

ECharts事件处理并和对返回params对象的内部参数分析

ECharts 通过 on 方法来监听用户的行为&#xff0c;例如监控用户的点击行为。 ECharts 中的事件分类ECharts 中事件分为两种类型:一、用户鼠标点击如’click’、‘dblclick’、‘mousedown’、‘mousemove’、‘mouseup’、‘mouseover’、‘mouseout’、‘globalout’、‘cont…

Echarts图例legend选中select状态动态更新(踩坑)

今天计划实现一个小功能&#xff0c;但是却在细节上浪费了大量的时间&#xff0c;特此记录。 想要实现的功能是这样的&#xff0c;如下一个ECharts图&#xff0c;后台会一次性接收85条曲线的数据&#xff0c;但在初始化的时候只显示前7条曲线。 官方文档 给出了 legend. sele…

PAT乙级真题解析:个位数统计(1021)题目+解析+源码(C语言版)

题目描述 给定一个k位整数N dk-110k-1 … d1101 d0 (0<di<9, i0,…,k-1, dk-1>0)&#xff0c;请编写程序统计每种不同的个位数字出现的次数。例如&#xff1a;给定N 100311&#xff0c;则有2个0&#xff0c;3个1&#xff0c;和1个3。 输入描述: 每个输入包含1个测…

Vuetify安装踩坑,ERROR Error: You cannot call “get“ on a collection with no paths…

项目场景&#xff1a; 最近开发一个新的app项目&#xff0c;打算用Vue3 Vuetify&#xff0c;在安装Vuetify的时候就遇到了错误。Vuetify虽然是一个移动端很棒的框架&#xff0c;但是国内的教材、中文版的文档实在是太少了。去Googol查了半天才解决问题&#xff0c;解决方法也…

VueCli3引入百度地图Api详细步骤+宽高自动页面自适应(踩坑+源代码)

首先去百度地图官网申请ak密钥&#xff0c;这个很简单&#xff0c;百度也有很多教程&#xff0c;就不细说了。 传送门&#xff1a;申请ak密钥 开发文档&#xff1a;百度地图API开发文档 打开项目文件&#xff0c;在public文件夹下的index.html页面中引入百度地图API 这里的密钥…

PAT乙级真题解析:数字分类(1012)题目+解析+源码(C++版)

题目描述 给定一系列正整数&#xff0c;请按要求对数字进行分类&#xff0c;并输出以下5个数字&#xff1a; A1 能被5整除的数字中所有偶数的和&#xff1b; A2 将被5除后余1的数字按给出顺序进行交错求和&#xff0c;即计算n1-n2n3-n4…&#xff1b; A3 被5除后余2的数字的…