博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Select2插件dropDown的配置
阅读量:4027 次
发布时间:2019-05-24

本文共 1781 字,大约阅读时间需要 5 分钟。

    近期公司开发页面,使用到了select2的js插件--select2.full.min.js,我们有个需求就是在option的text内容前面和后面要动态的加上图标,如图:

    面临问题:使用select2,option的下拉框会经过处理变成<span>标签在页面上显示,所以无法再option上进行添加,而且<option>标签不支持后面加图标。

    问题解决:查找资料,在select官网上找到了相应的example,网址:https://select2.org/,图片如下:

可以在选项前加图片,对应js代码:

function formatState (state) {  if (!state.id) {    return state.text;  }  var baseUrl = "/user/pages/images/flags";  var $state = $(    ' ' + state.text + ''  );  return $state;};$(".js-example-templating").select2({  templateResult: formatState});

完美解决我的问题,最上面的图就是我解决后的图片,select2有很多参数可以设置,大家可以自行百度,这里只是说了一下大概的解决方案,具体怎么做还是要大家自己去做,纸上得来终觉浅,绝知此事要躬行。且行且积累。

最后附上我的代码:

html:

js:

$(function(){              function formatState (state) {              	  if (!state.id) {              	    return state.text;              	  }              	                 	  var obj = $(state.element);              	  var filePath = obj.html();		  var changeType = obj.data("changetype");		  var hasComment = obj.data("hascomment");	          var isBinary = obj.data("isbinary");						  var idesc;		  if(changeType == 'added'){			 idesc = '';		  }else if (changeType == 'deleted') {			 idesc = '';		  }else if (changeType == 'modified') {		         idesc = '';		  }						  if(isBinary=="1"){				return $(		             ''+ idesc + state.text + '' +''	              	 );		   }else{			if(hasComment=="0"){			    return $(			        ''+ idesc + state.text + '' +''		            );		        }else{		           return $(		                ''+ idesc + state.text+''	                   );	               }	          }            };    $("#diffFLByCp_content").select2({        templateResult: formatState;     });});

注意:要注意select2的版本,本文章讲述的是4.0.0以后的版本,3.5.3版本不适用。

你可能感兴趣的文章
yuv to rgb 转换失败呀。天呀。谁来帮帮我呀。
查看>>
yuv420 format
查看>>
单纯的把Y通道提取出来能正确显示出灰度图来为什么我的Qt就显示不出来呢转换有问题呀?
查看>>
YUV420只绘制Y通道
查看>>
yuv420 还原为RGB图像
查看>>
LED恒流驱动芯片
查看>>
驱动TFT要SDRAM做为显示缓存
查看>>
使用file查看可执行文件的平台性,x86 or arm ?
查看>>
qt5 everywhere 编译summary
查看>>
qt5 everywhere编译完成后,找不到qmake
查看>>
arm-linux开机读取硬件时钟,设置系统时钟。
查看>>
交叉编译在x86上调试好的qt程序
查看>>
/dev/input/event0 键盘输入
查看>>
qt 创建异形窗体
查看>>
可重入函数与不可重入函数
查看>>
简单Linux C线程池
查看>>
内存池
查看>>
输入设备节点自动生成
查看>>
opencv test code-1
查看>>
eclipse 导入先前存在的项目
查看>>