找回密码
 立即注册

QQ登录

只需一步,快速开始

laserw9

注册会员

1

主题

6

帖子

47

积分

注册会员

积分
47
最新发帖
laserw9
注册会员   /  发表于:2021-1-29 15:28  /   查看:1708  /  回复:7
本帖最后由 laserw9 于 2021-1-29 15:36 编辑

最近刚开始研究活字格,已经看完了官方的 help 视频文档(v6版)。

我在看论坛里问题的时候,看到这里的 阿南哥 上传的 111.fgcc 源文件,边下载研究了下
https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=86888&fromuid=60445

然后我忽然发现有一个关于组合框的功能不知道怎么实现,便来这里问一下,这是我第一次发帖。



请问活字格里的组合框怎么实现值与文本关联?

如果我理解没错的话,是不是像 阿男哥 这样设值这两项值呢?


另外,当用户切换组合框的选项时,怎么样同时取出用户选中项的 文本(显示的文本) 和 值(与文本绑定的另一个值) 和 索引(index) 呢?
类似于这样的效果





这个是我的代码:


【方便复制的代码标记】
  1. <html>
  2. <head>
  3. <meta charset="utf-8" />
  4. <title>laserw9小巫师</title>
  5. <style>
  6. #auto_out_id {width: 250px;}
  7. </style>
  8. </head>
  9. <body>
  10. <select id="cbo_id">
  11.         <option value="110">red</option>
  12.         <option value="202">green</option>
  13.         <option value="333">blue</option>
  14. </select>

  15. <input type="button" id="btn_id" value="输出选中值到标签" />
  16. <label id="out_id">[请点击按钮]</label>

  17. <div>
  18.         <input type="text" id="auto_out_id" placeholder="选中自动输出选中值" />
  19. </div>

  20. <script>
  21. window.onload = function() {
  22.         let btn = document.querySelector('#btn_id');
  23.         let selector = document.querySelector('#cbo_id');
  24.         let lblOutput = document.querySelector('#out_id');
  25.         let inpOutput = document.querySelector('#auto_out_id');
  26.         let items = selector.textContent.trim().split(/\s*\n+\s*/g);
  27.         
  28.         btn.onclick = function () {
  29.                 let idx = selector.selectedIndex;
  30.                 let val = selector.value;
  31.                 let text = items[idx];
  32.                 lblOutput.innerText = `选中项的 Index:${idx}, Value:${val}, Text:${text}`;
  33.         };
  34.         
  35.         selector.onchange = function () {
  36.                 let idx = this.selectedIndex;
  37.                 let val = this.value;
  38.                 let text = items[idx];
  39.                 inpOutput.value = `选中项的 Index:${idx}, Value:${val}, Text:${text}`;
  40.         };
  41. };
  42. </script>
  43. </body>
  44. </html>
复制代码

望求解,谢谢


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

7 个回复

倒序浏览
laserw9
注册会员   /  发表于:2021-1-29 15:37:24
沙发
后面三个附件怎么删除...
回复 使用道具 举报
阿南哥活字格认证
银牌会员   /  发表于:2021-1-29 15:46:41
板凳
1、组合框的值有两种,一种是自定义的值,另一种是从数据表获取。
2、活字格中获取值和文本是可以的,索引就不知道了,懂索引的麻烦回复下。
回复 使用道具 举报
laserw9
注册会员   /  发表于:2021-1-29 15:51:30
地板
阿南哥 发表于 2021-1-29 15:46
1、组合框的值有两种,一种是自定义的值,另一种是从数据表获取。
2、活字格中获取值和文本是可以的,索引 ...

好的,谢谢
1.你的代码里用的应该是数据表获取,我等下去试试自定义值的方式
2.有办法同时获取 值 和 文本 嘛,在活字格里似乎只能用 【=某单元格】的形式去取值,但这个取值只能取指定的选择值,不是是否有其他函数或参数的方式来获取另一个值呢
回复 使用道具 举报
阿南哥活字格认证
银牌会员   /  发表于:2021-1-29 16:05:28
5#
laserw9 发表于 2021-1-29 15:51
好的,谢谢
1.你的代码里用的应该是数据表获取,我等下去试试自定义值的方式
2.有办法同时获取 值 和  ...

已给您实现,请看工程文件

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
laserw9
注册会员   /  发表于:2021-1-29 16:23:09
6#
阿南哥 发表于 2021-1-29 16:05
已给您实现,请看工程文件

好的,原来是用 OData 去实现:
  1. =ODATA("货号表?$select=货号&$filter=ID eq "&IF(ISBLANK(AJ19),"null",AJ19))
复制代码


我看懂了,依赖关键字段进行筛选数据并返回指定字段对应的值,有空我去学下 OData 的查询方式。
谢谢
回复 使用道具 举报
laserw9
注册会员   /  发表于:2021-1-29 16:33:17
7#
刚才一直没找到 “求助中心”,我以为这里是“求助中心”,我放错板块了,管理员如果有权限的话帮忙挪到“求助中心”板块,方便大家后续查询,谢谢
回复 使用道具 举报
Simon.hu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2021-2-3 15:50:33
8#
好的,没问题,我给您移动到求助中心去哈~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部