从记录列表中选择

时间:2016-10-22 15:19:21

标签: applescript

如何从此记录列表中选择列表'仅显示' Fornavn2'和' Efternavn2',但将var设置为相应的' ElevID2' ???

我知道这不是正确的语法,但它可以显示我想要的内容:

set var to ElevID2 of varEleveriklasse to choose from list (Fornavn2 of varEleveriklasse & " " & Efternavn2 of varEleveriklasse)

列表:

set varEleveriklasse to {{Fornavn2:"Kenneth", Efternavn2:"Oddersen", ElevID2:"23442"}, {Fornavn2:"Thomas", Efternavn2:"Johansen", ElevID2:"23452"}, {Fornavn2:"Johan", Efternavn2:"Thomasen", ElevID2:"76590"}, {Fornavn2:"Charlotte", Efternavn2:"Frandsen", ElevID2:"78569"}, {Fornavn2:"Mathilde", Efternavn2:"Charlottesen", ElevID2:"64569"}}

1 个答案:

答案 0 :(得分:0)

如果没有重复循环,就无法填充列表。

获取所选项目索引的智能解决方案是将其包含在列表中。

set varEleveriklasse to {{Fornavn2:"Kenneth", Efternavn2:"Oddersen", ElevID2:"23442"}, ¬
    {Fornavn2:"Thomas", Efternavn2:"Johansen", ElevID2:"23452"}, ¬
    {Fornavn2:"Johan", Efternavn2:"Thomasen", ElevID2:"76590"}, ¬
    {Fornavn2:"Charlotte", Efternavn2:"Frandsen", ElevID2:"78569"}, ¬
    {Fornavn2:"Mathilde", Efternavn2:"Charlottesen", ElevID2:"64569"}}

set fullNameList to {}
set indexCounter to 1
repeat with anItem in varEleveriklasse
    set end of fullNameList to (indexCounter as text) & space & anItem's Fornavn2 & space & anItem's Efternavn2
    set indexCounter to indexCounter + 1
end repeat

set chosenItem to choose from list fullNameList
if chosenItem is false then return
set chosenItem to item 1 of chosenItem // chosenItem is a list or boolean false

set listIndex to word 1 of chosenItem as integer
set ElevID to ElevID2 of item listIndex of varEleveriklasse
display dialog ElevID