|
That
did it. However how would I modify it to have additional fields? For instance,
you used a single field for contactname but I've got separate fields for first
and last name. Also what if I needed to change the order of the fields for the
contact? How would I modify the javascript? I'd also like to know so I can
understand the javascript a little better so I can reuse the code for other
drop-downs.
I
tried doing this:
<@ASSIGN Local$CompanyArray
@@user$ua_company>
<@ASSIGN Local$CompanyArray[0,*]
<@ARRAY VALUE="CompanyId,CompanyName;">>
<@ASSIGN Local$ContactArray
@@user$ua_contact>
<@ASSIGN Local$ContactArray[0,*]
<@ARRAY VALUE="ContactId,FirstName,LastName,CompanyId;">>
<form name="SelectContact"
action="<@CGI><@APPFILE>?_function=test">
<select name="CompanyId"
onchange="PopulateContactList('SelectContact','ContactId',this.value);">
<@ROWS
ARRAY="Local$CompanyArray">
<option value="<@VAR
Local$CompanyArray[<@CURROW>,CompanyId]>">
<@VAR
Local$CompanyArray[<@CURROW>,CompanyName]>
</option>
</@ROWS>
</select>
<select
name="ContactId">
</select>
<INPUT TYPE=SUBMIT NAME="Submit"
VALUE="Submit">
</form>
<script>
var ContactArray=new
Array();
var CompanyArray=new
Array();
<@ROWS
ARRAY="Local$ContactArray">
ContactArray[<@CALC
EXPR="<@CURROW>-1">]= new Object();
ContactArray[<@CALC
EXPR="<@CURROW>-1">].length=<@NUMCOLS
ARRAY="Local$ContactArray">;
<@COLS>
ContactArray[<@CALC
EXPR="<@CURROW>-1">].<@VAR
Local$ContactArray[0,<@CURCOL>]>= '<@VAR
Local$ContactArray[<@CURROW>,<@CURCOL>]>'
</@COLS>
</@ROWS>
<@ROWS
ARRAY="Local$CompanyArray">
CompanyArray[<@CALC
EXPR="<@CURROW>-1">]= new Object();
CompanyArray[<@CALC
EXPR="<@CURROW>-1">].length=<@NUMCOLS
ARRAY="Local$CompanyArray">;
<@COLS>
CompanyArray[<@CALC
EXPR="<@CURROW>-1">].<@VAR
Local$ContactArray[0,<@CURCOL>]>= '<@VAR
Local$CompanyArray[<@CURROW>,<@CURCOL>]>'
</@COLS>
</@ROWS>
function
PopulateContactList(FormName,SelectName,CompanyId)
{
ClearList(FormName,SelectName);
for(i=0;i<ContactArray.length;i++)
if(ContactArray[i].CompanyId==CompanyId)
AddContactListOption(FormName,SelectName,ContactArray[i]);
}
function
AddContactListOption(FormName,SelectName,ContactStructure)
{
var
option=document.createElement("OPTION");
option.text=ContactStructure.FirstName;
option.text=ContactStructure.LastName;
option.value=ContactStructure.ContactId;
document.forms[FormName].elements[SelectName].add(option);
}
function
ClearList(FormName,SelectName)
{
while(document.forms[FormName].elements[SelectName].length)
document.forms[FormName].elements[SelectName].remove(0);
}
PopulateContactList('SelectContact','ContactId','<@VAR
Local$CompanyArray[1,CompanyId]>');
</script>
Which
still works but it only displays the last name of the contact in the contact
drop-down.
Thanks,
Steve Smith Skadt Information Solutions
|
- Witango-Talk: Dynamic Drop-downs using JavaScript (was Ne... Steve Smith
- Re: Witango-Talk: Dynamic Drop-downs using JavaScrip... [Gauthier]
- Re: Witango-Talk: Dynamic Drop-downs using JavaScrip... Stacey Schoffer
- Re: RE: Witango-Talk: Dynamic Drop-downs using JavaS... Stacey Schoffer
- Re: Witango-Talk: Dynamic Drop-downs using JavaScrip... Stacey Schoffer
- Re: RE: Witango-Talk: Dynamic Drop-downs using JavaS... Stacey Schoffer
