上面遇到的问题直接上图:
在给id=c01-select 绑定select2方法的时候出现了错误“Option ‘data’ is not allowed for Select2 when attached to a < select> element” 上面提示已经很清楚了,不能把元素放在select选项中,下面报错的地方是select2.js中的限制,只有为什么不知道?
修改方式:将select 表情换成 input
<input id="c01-select" ></input >
- 1
上面是一个出现的问题,很大程度上是由于select2的版本导致的,上面的那个版本的是2014年,可以下载一个新点的版本就没有这问题(可以使用input和select)。
我试过17年版本的,没有出现问题,不过会有引用的问题,在console中可以看到这样的错误“Error: No select2/compat/inputData”:需要引
用
< script type="text/javascript" src="/js/select2/js/select2.full.js"></script>“”
- 1
去替换
<script type="text/javascript" src="/js/select2/js/select2.min.js"></script>
- 1
select2 4.0.5版本下载地址:
https://download.csdn.net/download/younghaiqing/10579521
附上一段select2代码,转至:https://blog.csdn.net/apollo47/article/details/54612930
$("#landNameSelect").select2({ theme: "bootstrap", allowClear: true, language : 'zh-CN', placeholder: {id:"2", text:"text2"}, query: function (query){ var url = "/a/info/landInfo/selectLand"; var param = {name:query.term}; // 查询参数,query.term为用户在select2中的输入内容. var type="json"; var data = { results: [] }; $.post(url, param, function(datas){ for(var i= 0, len=datas.length;i<len;i++){ var land = datas; var option = {"id":land.id, "text": land.name}; data.results.push(option); } query.callback(data); }, type); }, escapeMarkup: function (markup) {return markup; }, minimumInputLength: 2, formatResult:function(data){return '<div class="select2-user-result">' + data.text + '</div>'}, formatSelection: function(data){ console.log("选中option"); console.log(data.id + data.text); return data.text; }, initSelection:function(data, cb){console.log(data); cb(data);} }); // select2方法结束.