上面遇到的问题直接上图:
在给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 >
上面是一个出现的问题,很大程度上是由于select2的版本导致的,上面的那个版本的是2014年,可以下载一个新点的版本就没有这问题(可以使用input和select)。
我试过17年版本的,没有出现问题,不过会有引用的问题,在console中可以看到这样的错误“Error: No select2/compat/inputData”:需要引
用
< script type="text/javascript" src="/js/select2/js/select2.full.js"></script>“”
去替换
<script type="text/javascript" src="/js/select2/js/select2.min.js"></script>
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[i];
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方法结束.