麦粉社区
>
帖子详情

下拉查询问题

电子表格软件 发表于 2025-6-16 10:28
发表于 2025-6-16 10:28:13

下拉(多选),在输入框的模糊查询的时候需要将栏位中的数据先删除,在通过模糊查询找下拉数据,有什么办法在点击查询栏位的时候,直接置空,不需要人员手动去删除


发表于 2025-6-16 10:28:14
function main(spreadsheetReport, isAjaxRefreshCallback) {
    var currentTable = document.querySelector('table[class*="Iff808081018f79c579c5eac4019096725632068d"]');  
    var boxes = currentTable.querySelectorAll('input.combobox-edit');
    //var boxes = document.querySelectorAll('input.combobox-edit');
    boxes.forEach(box => {
        box.addEventListener('click', function() {
            this.value = '';
        })


    })

}

代码解读:


 currentTable = document.querySelector('table[class*="Iff808081018f79c579c5eac4019096725632068d"]');


Iff808081018f79c579c5eac4019096725632068d:电子表格属性中的节点id,用于限制只在当前电子表格中生效。


 



   然后给所有类名为combobox-edit 的input输入框添加click事件监听,使点击后文本为空值。


建议:更常见的需求是点击时选中文本,而不是清空文本。此时 用this.select() 替换 this.value=''

  •   每天都很困
    我的版本是v10,多选下拉框的 class是combobox-edit,你可右键,检查(查看网页源码),看看你的页面的参数的输入框的class是不是combobox-edit,如果想改其他的参数输入框,可以把combobox-edit 替换成其他,需要查看网页源码确定
    2025-6-17 10:45| 回复
  •   朱辉
     回复 每天都很困
    “Iff808081018f79c579c5eac4019096725632068d”这个怎么找
    2025-6-17 14:41| 回复
  •   每天都很困
     回复 朱辉
    电子表格发布后,点击右侧三个点,弹出菜单,这个菜单最下方是属性,查看属性。
    这三个点弹出的菜单中点击宏管理,创建客户端宏。
    2025-6-17 15:05| 回复
  •   朱辉
     回复 每天都很困
    currentTable 获取到值是空的,已经替换为属性上的节点了
    2025-6-17 15:56| 回复
  •   朱辉
    我目前是直接跳过指点节点的限制,直接查找combobox-edit节点
    2025-6-17 16:08| 回复
  • 还有4条回复,点击查看

回复

使用道具 举报

发表于 2025-6-16 19:00:30
本帖最后由 蹦蹦炸弹 于 2025-6-16 19:04 编辑

这个得写宏处理了,获取参数后将对应的参数值置为空,他们有学习视频:https://my.smartbi.com.cn/edu/course-133

回复

使用道具 举报

发表于 2025-6-17 10:41:05
本帖最后由 每天都很困 于 2025-6-17 10:42 编辑

宏组件选择"onRender(每次刷新完成后)"

回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies
您需要登录后才可以回帖 登录 | 立即注册

12回帖数 0关注人数 936浏览人数
最后回复于:2025-6-17 10:41

社区

指南

快速回复 返回顶部 返回列表