页面记录删除按钮可用问题探讨

填报页面,输入手机号(文本字段),会自动匹配值出来,页面有个批量删除功能,用于删除插入时多余的行,现在有个需求,如图:(有类似功能也行)

1、若手机输入后有匹配记录出来,点击复选框时,批量删除按钮变为不可用,有记录不让其删除;

image.png

2、若输入手机无匹配记录或空白行,选择复选框时,批量删除按钮变为可用,记录则允许删除;如图:

image.png

3、若全选了,即有记录,又有空记录,则弹窗提示“有记录不可删除!”,点确定后,批量删除按钮变为不可用,如图:

image.png

image.png

------------------------------------

FineReport chyou 发布于 2021-12-5 21:42 (编辑于 2021-12-7 22:41)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
chyouLv4见习互助
发布于2021-12-7 22:50(编辑于 2021-12-7 23:43)

终于还是自己解决了。。。

20211207104755.gif

另一种效果:

20211207114011.gif

  • yzm187216 yzm187216 怎么实现的呀,想跟大佬学习一下
    2021-12-08 10:25 
最佳回答
1
快乐星光Lv5中级互助
发布于2021-12-6 11:26(编辑于 2021-12-6 12:19)

方法1

你只需要再复选框控件的状态改变里面加上js就可以实现上述三种要求:

if (len(手机号-单元格>0) && len (id-单元格>0))){

  _g().getWidgetByName("批量删除").setEnable(false);//设置删除按钮控件不可用

}

image.png

方法2

修改批量删除按钮的js内容,你的js应该有一个遍历选择单元格的过程,在这个过程中添加检测每个选择行的 if (len(手机号-单元格>0) && len (id-单元格>0)))状态,如果为true就弹出对话框,并将删除按钮设为不可用

  • chyou chyou(提问者) 关键是手机号及ID单元格值怎么获取呢。。因为遍历的,是不是要设置两个数组变量,如手机SJ ,ID,遍历后true的把值筛到JS 和 ID里呢,然后再用len判断是否有值。。 JS不大懂,就卡在取单元格值,是否要用到数组
    2021-12-06 11:52 
  • 快乐星光 快乐星光 回复 chyou(提问者) 方法1的单元格可以用参数取,方法2的单元格就用遍历获取,js是不太好写。
    2021-12-06 12:19 
  • chyou chyou(提问者) len 在JS里说没定义。。用了length,如sj.lenghth 及 id.length,奇怪的是为啥空值,它算出的结果都是4; 还有就是方法1有问题,如果上述即使成立了,对于页面上,如是存在有记录的、空记录及没匹配记录时,空记录和没匹配的也是删除不了的,我觉得还是要每行都得判断记录情况,要用数组
    2021-12-06 14:08 
  • 快乐星光 快乐星光 回复 chyou(提问者) 方法1参数值的公式直接写成len(D2)\\len(F2)。然后js改成:if (len(手机号-单元格>0) && len (id-单元格>0))){ this.selected(false);//设置复选按钮控件为不选中 }
    2021-12-06 14:28 
  • 快乐星光 快乐星光 回复 chyou(提问者) 方法2的思路好一些,但js不好写。
    2021-12-06 14:28 
最佳回答
0
檬茶茶Lv4初级互助
发布于2021-12-6 09:05

从零开始吗,还是有什么问题

  • chyou chyou(提问者) 什么意思
    2021-12-06 09:48 
  • 檬茶茶 檬茶茶 回复 chyou(提问者) 就是这个这个是不是还没做的,从头开始做
    2021-12-06 10:06 
  • chyou chyou(提问者) 回复 檬茶茶 原先只是简单的批量删除功能,现在想完善优化它
    2021-12-06 10:13 
  • 4关注人数
  • 461浏览人数
  • 最后回答于:2021-12-7 23:43
    请选择关闭问题的原因
    确定 取消
    返回顶部