关于组合框的问题我可以使用类似的东西创建带有弹出提示的组合框选项(通过实验发现):
Names Default To Here( 1 );
list = {"One" ("This is One"), "Two" ("This is two")};
New Window( "Example",
cb = Combo Box(
list,
selection = cb << GetSelected();
Print( selection );
)
);但是当我查看选择时 - 由于 << 被选中,它只有“一个”或“两个”。
两个问题:
1. 上面的列表是什么样的数据结构? 这是一份什么清单? list[1] 给了我确切的“One”(“This is one”) - 它是一个字符串,还是它是什么?
2.我如何使用这个列表,假设它是一个像{“One”,“Two”}这样的普通列表,我会放入这样的脚本部分:
if(
selection == list[1], doThis,
selection==list[2], doThat
);
但是当我包含弹出提示时我该怎么做呢?
高级统计建模自动化和脚本编写消费者和市场研究分享和交流结果回复:关于组合框的问题脚本索引显示组合框中提示字符串的结构。我从来没有意识到你可以在组合框中包含工具提示 - 简洁的功能。

您可以使用工具提示从列表中创建“真实”列表。另外,我不会使用“list”作为变量,因为它是 JSL 中的一个函数。
Names Default To Here( 1 );
list_tips = {"One" ("This is One"), "Two" ("This is two")};
New Window( "Example",
cb = Combo Box(
list_tips,
selection = cb << GetSelected();
Print( selection );
)
);
mylist = {};
for (i = 1, i <= nitems(list_tips), i++,
pq = contains(list_tips[i], "(\!"");
mylist[i] = substr(list_tips[i], 1, pq - 1);
);
if (
selection == mylist[1], doThis,
selection == mylist[2], doThat
);
回复:关于组合框的问题可能有一个社区成员有更好的方法来处理组合框列表结构,但我想出如何处理它的唯一方法是将整个列表变成一个字符串,然后用字功能
Names Default To Here( 1 );
list = {"One" ("This is One"), "Two" ("This is two")};
tipstr1 = word(4,char(list),"\!"");
返回
"This is One"
回复:关于组合框的问题谢谢,吉姆。
仍然不是很清楚 - 每个条目都是一个字符串? 引号逃到哪里了?
如果我想在组合框脚本的 if 语句中使用相同的列表,我是否必须提取该项目本身? 喜欢:
if(
selection == Word(1, list[1], "\!"()"), doThis,
selection==Word(1, list[2], "\!"()"), doThat
);
回复:关于组合框的问题在您的示例中,List 是一个包含 2 个条目的列表。
- “一”(“这是一”)
- “二”(“这是二”)
组合框将每个列表条目分为 Item 和tipstr。
selection = cb << GetSelected();
仅返回该项目
如果你想返回tipstr,你需要使用
tipstr = (cb << get items)[cb << Get];