|
今天写数据筛选的时间遇到一个问题,数据在前端进行筛选的时候,如果遇到了例如where 字段名 in(xx,xx,xx),单字段多条件(未知长度)的情况的时候,直接将变量值赋进XX中是不对的,在测试之后发现,单字段单条件直接赋值可以,但当多条件的时候,就需要使用字符串拼接,不单单要把逗号拼进去,而且还要把单引号拼进去,这个就比较麻烦了,经过试验之后,格式应该这样拼接,耗时较多,特贴上来,供大家使用,不再走弯路- var shopnamestrs = new Array();
- shopnamestrs = shopname.split(",");//shopname是要筛选的条件值,不知道有多少个条件,所以以,分割,我们吧他转换为数组,以便之后好用
- var s = "\'";//定义转义字符,在js中,没法直接把'作为一个字符输出
- var shopnames = shopnamestrs[0];//定义首个条件
- for (var int = 1; int < shopnamestrs.length; int++) {
- shopnames = shopnames + s + "," + s + shopnamestrs[int];//使用字符串拼接的方式,将所有的字符串全部拼接进去
- }
- ordata.setFilter('filter1', "shop_name in ('" + shopnames + "')");// 将筛选后的条件放进筛选中,最后别忘了刷新
- ordata.refreshData();
复制代码
|
|