關於組合框的問題我可以使用類似的東西創建帶有彈出提示的組合框選項(通過實驗發現):
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];