Combobox报错:row[opts.textField].toLowerCase is not a function。

使用easyui框架加载combobox。

html页面:

<span class="search_item">
  <span class="item_text">账号ID:</span>
    <span class="item_obj">
	  <input class="easyui-textbox" type="text" name="memberId" id="memberId"/>
    </span>
  </span>
</span>

JS:

/* 加载用户ID列表 */
$('#memberId').combobox({
  url : '${ctxPath}/api/queryAllMemberIdInfo',
   valueField : 'memberId',
   textField : 'memberId'
});

这次调用却出了问题。数据库查询出的数据为memberId为int类型。报错提示:

× Paused on exception    TypeError: row[opts.textField].toLowerCase is not a function.

解决思路:

string类型的数据没有问题的。这次有问题,说明就是int类型的数据没有办法使用toLowerCase方法。那么我们把int类型转为String类型之后,再调用此方法。

实现方法为重置一下过滤器:

filter: function(q, row){
    var opts = $(this).combobox('options');
    row[opts.textField] =  row[opts.textField]+"";
    return row[opts.textField].toLowerCase().indexOf(q.toString().toLowerCase()) >= -1;
},  

完整代码:

/* 加载用户ID列表 */
$('#memberId').combobox({
  url : '${ctxPath}/api/**',
  valueField : 'memberId',
  textField : 'memberId',
  filter: function(q, row){
    var opts = $(this).combobox('options');
    row[opts.textField] =  row[opts.textField]+"";
    return row[opts.textField].toLowerCase().indexOf(q.toString().toLowerCase()) >= -1;
  },
});

  

转载于:https://www.cnblogs.com/yugure/p/7803357.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值