<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />MS, vielen Dank für die Klarstellung und den Code! Es funktioniert jetzt und ich glaube, ich fange an, die Logik hinter Displayboxen zu verstehen ...
Ani
Als djhannson-Notizen müssen Sie den Aktualisierungscode in das Skript name_box1 aufnehmen. In Ihrem Skript wird jede Interaktion mit name_box1 mit << alle entfernen abgeschlossen. Daher ist das zweite Listenfeld immer leer.
Hier ist eine Möglichkeit, die in JMP 9 funktioniert.
Land = { UNS . Kanada . Mexiko } ;
USSub = { Alaska . Arizona . Kalifornien } ;
CanadaSub = { Britisch-Kolumbien . Alberta . Saskatchewan } ;
MexicoSub = { Baha Nord . Baha Süd . Sonora } ;
aa = Assoziatives Array ( Land . { UsSub . CanadaSub . mexicoSub } ) ;
Neues Fenster ( "jkahd" .
Textfeld ( "Land:" ) .
name_box1 = Listenfeld ( Land .
name_box2 << alles entfernen ;
name_box2 << anhängen (
Eval ( aa [ Parse ( ( name_box1 << ausgewählt werden ) [ 1 ] )] )
) ; // Parse () nicht erforderlich, wenn die ursprünglichen Listen Strings in Anführungszeichen hatten, z. B. {"US", ...}
) .
Textfeld ( "State-Province:" ) .
name_box2 = Listenfeld ( {} )
) ;
Hallo Djhanson und PMroz,
Ich konnte das nicht schaffen, eigentlich glaube ich, dass ich nicht den Code sehe, auf den sich PMroz in seiner Antwort bezieht. Ich habe den Code im ursprünglichen Beitrag geändert. Jetzt kann ich das Land auswählen und die korrekten Werte in der Sub-Variablen sehen. Ich sehe jedoch keine im zweiten Listenfeld (ich habe meinen Code unten angegeben). Ich verwende JMP 9.0.3. Könnten Sie mir bitte dabei helfen?
Land = {USA, Kanada, Mexiko};
USSub = {Alaska, Arizona, Kalifornien};
CanadaSub = {British Columbia, Alberta, Saskatchewan};
MexicoSub = {Baha North, Baha South, Sonora};
Sub = {};
aa = neues Fenster ("jkahd", TextBox ("Land:"),
name_box1 = ListBox (Land,
choiceCountry = name_box1 << ausgewählt werden;
Wenn (choiceCountry [1] == "US", Sub = USSub,
if (choiceCountry [1] == "Canada", Sub = CanadaSub,
if (choiceCountry [1] == "Mexico", Sub = MexicoSub))));
name_box2 << alle entfernen;
)
TextBox ("State-Province:"),
name_box2 = ListBox (Sub, choiceSub = name_box2 << wird ausgewählt)
);
Vielen Dank!
Ani