select2 组件报错 Uncaught TypeError: Cannot read property 'toUpperCase' of undefined,问题原因,解决方案

问题原因

报这个错是因为数据封装不正确,select2的封装格式如下
{data:[{}]}
实际例子
{ data : [{“id”:1,“text”:“联想”} , {“id”:2,“text”:“华为”}] }
必须将数据封装成这种格式才能给select2赋值调用.select2动态框写法如下

<input select2  select2-model="entity.brandIds" config="brandList" multiple
 placeholder="选择品牌(可多选)" class="form-control" type="text">

select2-model 属性绑定的是一个对象,例如 {“id”:1,“text”:“联想”}

楼主错误原因是在前端的controller层写错了数据格式,错误如下
在赋值时不小心用"[]"吧response括起来了,所以会报错
正确写法是: $scope.specificationList={data:response};

$scope.findSpecificationList = function () {
		specificationService.selectOptionList().success(
			function (response) {
				$scope.specificationList={data:[response]};
			}
		)
	}

注意事项:

  1. {“id”:1,“text”:“联想”}这个对象的键必须是 id 和 text 否则也会报此错误,注意要区分大小写.
  2. 数据库中保存有脏数据也会引起这种错误,即数据库中不能有null的字段.
  3. 例如数据 {“id”:1,“text”:“联想”} ,text键对应的值必须是字符串,否则也会报这个错.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
这个错误通常是由于没有正确加载所需的 JavaScript 文件导致的。在这种情况下,可能是因为你没有正确加载 jQuery 或 FullCalendar 的 JavaScript 文件。请确保在 HTML 中正确引入了这些文件,并且它们的路径是正确的。 以下是一个正确引入 jQuery 和 FullCalendar 的示例: ```html <!DOCTYPE html> <html> <head> <meta charset='utf-8' /> <link href='https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.10.2/fullcalendar.min.css' rel='stylesheet' /> <link href='https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.10.2/fullcalendar.print.min.css' rel='stylesheet' media='print' /> <script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js'></script> <script src='https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js'></script> <script src='https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.10.2/fullcalendar.min.js'></script> </head> <body> <div id='calendar'></div> <script> $(document).ready(function() { // page is now ready, initialize the calendar... $('#calendar').fullCalendar({ // put your options and callbacks here }) }); </script> </body> </html> ``` 在这个示例中,我们使用了 jQuery 3.6.0 版本和 FullCalendar 3.10.2 版本。请注意,这里先引入了 jQuery,然后才引入 FullCalendar。这是因为 FullCalendar 是基于 jQuery 开发的,所以必须先加载 jQuery。 如果你仍然遇到这个错误,请检查你的代码并确保你正确引入了所需的 JavaScript 文件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

干饭两斤半

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值