Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
BedrockMission!

Learn more

View all

Sign in to view all badges

SOLVED

populate a drop down list from another drop down list

jess_us
Level 2
Level 2

I have 2 dropboxes. Dropbox 1 is a list of names. Dropbox 2 is a list of numbers, each number corresponds to a name in dropbox 1

Dropbox1 - Names

     - Bill

     - John

     - Roberta

Dropbox2 - numbers

     - 0000 (Bill's number)

     - 1111 (Roberta's number)

     - 2222 (John's number)

Is it possible to select a name in Dropbox 1 and have the corresponding number for each name show in dropbox 2?

Thank you in advance for any help and input!

1 Accepted Solution
MinusZero
Correct answer by
Level 7
Level 7

Simple.

Two combos, one has names, one has numbers

1446361_pastedImage_0.png1446374_pastedImage_1.png

In the change event (javascript) for DropDownList1 put:

if ($.boundItem(xfa.event.newText) == "Bill") {
  this.resolveNode("DropDownList2").rawValue = "0000";
}

else if ($.boundItem(xfa.event.newText) == "John") {
  this.resolveNode("DropDownList2").rawValue = "1111";
}

else if ($.boundItem(xfa.event.newText) == "Roberta") {
  this.resolveNode("DropDownList2").rawValue = "2222";
}

NOTE: Unless you make your second combo readonly, you will be able to select a different number regardless of what is selected in the first.

View solution in original post

5 Replies
MinusZero
Correct answer by
Level 7
Level 7

Simple.

Two combos, one has names, one has numbers

1446361_pastedImage_0.png1446374_pastedImage_1.png

In the change event (javascript) for DropDownList1 put:

if ($.boundItem(xfa.event.newText) == "Bill") {
  this.resolveNode("DropDownList2").rawValue = "0000";
}

else if ($.boundItem(xfa.event.newText) == "John") {
  this.resolveNode("DropDownList2").rawValue = "1111";
}

else if ($.boundItem(xfa.event.newText) == "Roberta") {
  this.resolveNode("DropDownList2").rawValue = "2222";
}

NOTE: Unless you make your second combo readonly, you will be able to select a different number regardless of what is selected in the first.

View solution in original post

ScottDM
Level 2
Level 2

Nice; I'm going to bookmark this one.

I'm guessing the Case statement would be helpful here too.

MinusZero
Level 7
Level 7

Sure thing, a switch can be used too.

You could alternatively use this javascript in DropDownList1's change event:

switch($.boundItem(xfa.event.newText))

{

case "Bill":

this.resolveNode("DropDownList2").rawValue = "0000";

break;

case "John":

this.resolveNode("DropDownList2").rawValue = "1111";

break;

case "Roberta":

this.resolveNode("DropDownList2").rawValue = "2222";

break;

default:

break;

}

jess_us
Level 2
Level 2

Thank you for your answer MinusZero.

Very helpful!