select2 和 ajax的坑

2019-06-27 admin

select2,一款带多选功能,样式更加好看的select插件。


下方记录坑,前方高能.


  • 要用ajax发请求并且为select2赋初始值

    $.ajax({

                               url : _ctx+"/basInfo/listPsinfoData",
                               data : "page=1&rows=9999&flag=1",
                               type : "post",
                               async : false,
                               success : function(msg) {
                                   $("#" + PreSeleltName + "PSCODES").empty();
                                   var pscodeList = [];
                                   var pscodeString = "";
                                   var tempList = [];
                                   var data = msg.rows;
                                   for ( var i in data) {
                                       var temp = data[i];
                                       var tempPscode = temp.PSCODE;
                                       var tempPsname = temp.PSNAME;
                                       if(tempPscode && tempPsname){
                                           tempList.push({id :temp.PSCODE,text :temp.PSNAME});
                                       }
                                   }
                                   //初始化select2 企业 并且 赋值到vmData.data.PSCODELIST
                                   $("#" + PreSeleltName + "PSCODES").select2({
                                       data:tempList,
                                       placeholder:'选择或搜索企业',//默认文字提示
                                       multiple: true,//多选
                                       allowClear: true
                                   }).change(function(){
                                       pscodeList = $("#" + PreSeleltName + "PSCODES").val();
                                       for(var i in pscodeList){
                                           var pscode = pscodeList[i];
                                           if(i == 0){
                                               pscodeString = pscode;
                                           }else{
                                               pscodeString = pscodeString + ","+ pscode;
                                           }
                                       }
                                       Vue.set(vmData.data, 'PSCODELIST', pscodeString);
                                   });
                               },
                           });
    

    这样select2下拉列表就有了对应的值

真有这么简单???下方记录大坑!!

  • 不要同时发ajax请求,可能引起冲突
  • 在ajax结构体里发请求,比如编辑功能,获取具体的值为select2赋初始值,注意给select2初始化设置延迟加载
  • select2里要赋值初始化选中又要赋值初始化列表,需要先做具体的赋值,后面再调用一次select2初始化一次并且加延迟加载。

[转载]原文链接:https://segmentfault.com/a/1190000019599511

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处。

转载请注明:文章转载自 JavaScript中文网 [https://www.javascriptcn.com]

本文地址:https://www.javascriptcn.com/read-68351.html

文章标题:select2 和 ajax的坑

相关文章
一些前端学习中好的书籍,整理
一、Javascript方面的书籍: 1 JavaScript权威指南(第6版):号称javascript圣经,前端必备;前端程序员学习核心JavaScript语言和由Web浏览器定义的JavaScript API的指南和综合参考手册; 2...
2015-11-12
vue 数组遍历方法forEach和map的原理解析和实际应用
一、前言 forEach和map是数组的两个方法,作用都是遍历数组。在vue项目的处理数据中经常会用到,这里介绍一下两者的区别和具体用法示例。 二、代码 1. 相同点 都是数组的方法 都用来遍历数组 两个函数都有4个参数:匿名函数中可传3...
2018-11-15
js性能优化 如何更快速加载你的JavaScript页面
确保代码尽量简洁 不要什么都依赖JavaScript。不要编写重复性的脚本。要把JavaScript当作糖果工具,只是起到美化作用。别给你的网站添加大量的JavaScript代码。只有必要的时候用一下。只有确实能改善用户体验的时候用一下。 ...
2015-11-12
10个强大的纯CSS3动画案例分享
我们的网页外观主要由CSS控制,编写CSS代码可以任意改变我们的网页布局以及网页内容的样式。CSS3的出现,更是可以让网页增添了不少动画元素,让我们的网页变得更加生动有趣,并且更易于交互。本文分享了10个非常炫酷的CSS3动画案例,希望大家...
2015-11-16
2015年JavaScript或“亲库而远框架”
2014年过去了,作为一个JavaScript开发者很难满怀信心的去“挽回”一个特定的库或技术,即便是强大的Angular,似乎也因为最近的一些事情而动摇。 2014年10月的ng-europe会议上,Angular开发者团队透露了一个关于...
2015-11-12
Node.js 2014这一年发生了什么
Node.js 的 2014 年充满了不幸和争议. 这一年 Noder 们经历了太多的伤心事, 经历了漫长的等待, 经历了沉重的分裂之痛. 也许 Noder 们不想回忆14年 Node.js land 发生的事情, 但正因为痛才更有铭记的价...
2015-11-12
JavaScript实现PC手机端和嵌入式滑动拼图验证码三种效果
PC和手机端网站滑动拼图验证码效果源码,同时包涵了弹出式Demo,使用ajax形式提交二次验证码所需的验证结果值,嵌入式Demo,使用表单形式提交二次验证所需的验证结果值,移动端手动实现弹出式Demo三种效果 首先要确认前端使用页面,比如...
2017-03-17
v-charts | 饿了么团队开源的基于 Vue 和 ECharts 的图表工具
在使用echarts生成图表时,经常需要做繁琐的数据类型转化、修改复杂的配置项,v-charts的出现正是为了解决这个 痛点。基于Vue2.0和echarts封装的v-charts图表组件,只需要统一提供一种对前后端都友好的数据格式 设置简...
2018-05-24
Angular2-primeNG文件上传模块FileUpload使用详解
近期在学习使用Angular2做小项目,期间用到很多primeNG的模块。 本系列将结合实战总结angular2-primeNG各个模块的使用经验。 文件上传模块FileUploadModule 首先要在使用该组件的模块内导入文件上传模块 ...
2017-03-09
Vue获取DOM元素样式和样式更改示例
在 vue 中用 document 获取 dom 节点进行节点样式更改的时候有可能会出现 ‘style’ is not definde的错误,这时候可以在 mounted 里用 $refs 来获取样式,并进行更改: <template...
2017-03-13
回到顶部