Wrox Home  
Search P2P Archive for: Go

  Return to Index  

javascript_objects thread: Got to be a better way!


Message #1 by "Walter Torres" <walter@t...> on Fri, 24 Jan 2003 18:42:21 -0600
Here's one suggestion:
function buildListStructure () {
// gotta build from the 'lowest level' (the D list) and work your way up
   D1List = new Array("i", "ii", "iii");
   D2List = new Array("i", "ii", "iii");
   D3List = new Array("i", "iv", "vi");
   D4List = new Array("i", "ii");
   D5List = new Array("ii", "iii");  
   . . .
//values under "A 1"
   C1List = new Array();
   C1List [0] = new Array();
   
   C1List [0,0] = "a";
   C1List [0,1] = new Array(D1List);
    
   C1List [1,0] = "b";
   C1List [1,1] = new Array(D2List);
   
//values under "A 2"
   C2List = new Array();
   C2List[0] = new Array(D3List);
   
   C2List[0,0] = "a";
   C2List[0,1] = new Array(D3List); 
   C2List[1,0] = "b";
   C2List[1,1] = new Array(D5List);
   C2List [2,0] = "c";
   C2List [2,1] = new Array(D6List);
   
   . . . 
// values under "A"  
   B1List = new Array();
   B1List [0] = new Array();
   
   B1List [0,0] = "1";
   B1List [0,1] = new Array(C1List);
    
   B1List [1,0] = "2"
   B1list [1,1] = new Array(C2List); 
   
// values under "B"
   . . .

// the top level list
   AList = new Array();
   AList[0] = new Array();
   
   AList[0,0] = "A";
   AList[0,1] = new Array(B1List);
   
   AList[1,0] = "B";
   AList[1,1] = new Array(B2List);
   
   . . .
   
   return AList;
}// buildListStructure()

good luck
bob jones

-----Original Message-----
From: Walter Torres [mailto:walter@t...]
Sent: Friday, January 24, 2003 6:42 PM
To: JavaScript Objects
Subject: [javascript_objects] Got to be a better way!


I am pulling (what's left of) my hair out!

I'm trying to create a structure that will let me populate cascading SELECT
lists in succession.

I have 4 lists. When you make a selection from list A, list B is filtered to
display items associated with that item from A. When yo select an item in B,
list C is is filtered to display items associated with that item from A AND
B. And on down unitl list D.

Example:

  List A      List B      List C      List D
    A           1           a           i
                                        ii
                                        iii
                            b           i
                                        iii
                                        vi
                2           a           i
                                        iv
                                        vi
                            b           i
                                        ii
                            c           ii
                                        iii

...
repeat for ever!

So, this is what I have come up with (see at bottom).

This looks like crap! I know there must be a better way.

Anyone have *any* ideas?

Thanks.

Walter

var objGroups                       = new Object ('Groups');

	objGroups.items                 = new Object ();
	objGroups.items.count           = 1;

	objGroups.items[0]              = new Object ( 'Bankruptcy' );
	objGroups.items[0].cat          = new Object ();
	objGroups.items[0].cat.count    = 1;
	objGroups.items[0].cat.items    = new Object();

	objGroups.items[0].cat.items[0]                = new Object ( 'ICM
Console
Skill' );
	objGroups.items[0].cat.items[0].sites          = new Object ();
	objGroups.items[0].cat.items[0].sites.count    = 2;
	objGroups.items[0].cat.items[0].sites.items    = new Object ();

	objGroups.items[0].cat.items[0].sites.items[0] = new Object ( 'All
Sites' );
	objGroups.items[0].cat.items[0].sites.items[0].types          = new
Object
();
	objGroups.items[0].cat.items[0].sites.items[0].types.count    = 3;
	objGroups.items[0].cat.items[0].sites.items[0].types.items    = new
Object
();
	objGroups.items[0].cat.items[0].sites.items[0].types.items[0] = new
Object
( 'Archive' );
	objGroups.items[0].cat.items[0].sites.items[0].types.items[1] = new
Object
( 'Daily - Archive' );
	objGroups.items[0].cat.items[0].sites.items[0].types.items[2] = new
Object
( 'Daily - Today' );

	objGroups.items[0].cat.items[0].sites.items[1] = new Object (
'Florence' );
	objGroups.items[0].cat.items[0].sites.items[1].types          = new
Object
();
	objGroups.items[0].cat.items[0].sites.items[1].types.count    = 5;
	objGroups.items[0].cat.items[0].sites.items[1].types.items    = new
Object
();
	objGroups.items[0].cat.items[0].sites.items[1].types.items[0] = new
Object
( 'Archive' );
	objGroups.items[0].cat.items[0].sites.items[1].types.items[1] = new
Object
( 'Weekly - Archive' );
	objGroups.items[0].cat.items[0].sites.items[1].types.items[2] = new
Object
( 'Weekly - Today' );
	objGroups.items[0].cat.items[0].sites.items[1].types.items[3] = new
Object
( 'Monthly - Archive' );
	objGroups.items[0].cat.items[0].sites.items[1].types.items[4] = new
Object
( 'Monthly - Today' );

	objGroups.items[0].cat.items[0].sites.items[2] = new Object (
'Northridge' );
	objGroups.items[0].cat.items[0].sites.items[2].types          = new
Object
();
	objGroups.items[0].cat.items[0].sites.items[2].types.count    = 3;
	objGroups.items[0].cat.items[0].sites.items[2].types.items    = new
Object
();
	objGroups.items[0].cat.items[0].sites.items[2].types.items[0] = new
Object
( 'Archive' );
	objGroups.items[0].cat.items[0].sites.items[2].types.items[1] = new
Object
( 'Monthly - Archive' );
	objGroups.items[0].cat.items[0].sites.items[2].types.items[2] = new
Object
( 'Monthly - Today' );

..



  Return to Index