Hi, Gurus,

I'm having problem of creating an 2-D array dynamically. I have two tables
that are updated daily. Hard coded 3000 rows on an array is not a way to
display data.  Can someone shed some light on how to do it? Is there any
material or document that I can study? I'm still new to ColdFusion and need to
learn as fast as I can to deliver. 

Below is a sample code from the Allaire Developer Site. I like to learn how to
make the array dynamically. It's obvious to you that I need to display a group
of subcategories based on the first select box. I might use the
CF_AutoPopulate tag instead of this one. Thanks in advance for your
assistance.

Regards,
Julia



<body>
<form action="TestTwoSelectsRelatedGo.cfm"
        method="POST"
        onSubmit="return require_CategoryAndSelection()"
        name="FormX">
        
        <script language="JavaScript1.1">
                var maxlength = 10;             
                OneA = new Array;               
                
                var truelength = OneA.length;   
                var lst = OneA.length;  
                
                function require_Category() {
                        with (document.FormX.Category) {
                                RetVal = true;
                                if (options[selectedIndex] == null) RetVal = false;
                                        else RetVal = !(options[selectedIndex].value 
== '');
                                if (!RetVal) alert('You must choose an option for 
Category.');
                                        return RetVal
                        }
                }
                
                function require_Selection() {
                                with (document.FormX.Selection) {
                                        RetVal = true;
                                        if (options[selectedIndex] == null) RetVal = 
false;
                                                else RetVal = 
!(options[selectedIndex].value == '');
                                        if (!RetVal) alert('You must choose an option 
for Selection.');
                                                return RetVal
                                }
                }
                
                function require_CategoryAndSelection() {
                        return ((require_Category()) && (require_Selection()));
                }
                
                function FormXChangeMenu() {
                        OneA.length = 0;
                        menuNum = document.FormX.Category.selectedIndex;
                        if (menuNum == null) return;
                        
                        if (menuNum == 0) {
                                NewOpt = new Array;
                                NewVal = new Array;
                                
                                NewOpt[0] = new Option("All General Mdse.");    
                                NewOpt[0].value = 'GENALL';
                                NewOpt[1] = new Option("Arts & Crafts");
                                NewOpt[1].value = 'GENARS';
                                NewOpt[2] = new Option("Books & Publications");
                                NewOpt[2].value = 'GENBOO';
                                NewOpt[3] = new Option("For Dollar Stores");
                                NewOpt[3].value = 'GENDOL';
                                NewOpt[4] = new Option("Giftware");
                                NewOpt[4].value = 'GENGIF';
                                NewOpt[5] = new Option("GM Closeouts/Surplus");
                                NewOpt[5].value = 'GEN-CL';
                                NewOpt[6] = new Option("Hardware");
                                NewOpt[6].value = 'GENHAR';
                                NewOpt[7] = new Option("Health & Beauty Aids");
                                NewOpt[7].value = 'GENHBA';
                                NewOpt[8] = new Option("Home Fashion");
                                NewOpt[8].value = 'GENHOM';
                                NewOpt[9] = new Option("Housewares");
                                NewOpt[9].value = 'GENKIT';
                                NewOpt[10] = new Option("Novelties");
                                NewOpt[10].value = 'GENNOV';
                                NewOpt[11] = new Option("Seasonal/Holiday");
                                NewOpt[11].value = 'GENHOL';
                                NewOpt[12] = new Option("Sporting Goods");
                                NewOpt[12].value = 'GENSPO';
                                NewOpt[13] = new Option("Toys/Games");
                                NewOpt[13].value = 'GENTOY';
                                NewOpt[14] = new Option("Adult Merchandise");
                                NewOpt[14].value = 'GENALT';
                                NewOpt[15] = new Option("Other");
                                NewOpt[15].value = 'GENOTH';
                        }
                        
                        if (menuNum == 1) {
                                NewOpt = new Array;
                                NewVal = new Array;
                                
                                NewOpt[0] = new Option("All Apparel/Access.");
                                NewOpt[0].value = 'APPALL';
                                NewOpt[1] = new Option("Apparel Closeouts");
                                NewOpt[1].value = 'APP-CL';
                                NewOpt[2] = new Option("Boys Accessories");
                                NewOpt[2].value = 'APPBAC';
                                NewOpt[3] = new Option("Boys Apparel");
                                NewOpt[3].value = 'APPBOY';
                                NewOpt[4] = new Option("Fabric/Textiles");
                                NewOpt[4].value = 'APPFAB';
                                NewOpt[5] = new Option("Girls Accessories");
                                NewOpt[5].value = 'APPGAC';
                                NewOpt[6] = new Option("Girls Apparel");
                                NewOpt[6].value = 'APPGIR';
                                NewOpt[7] = new Option("Infant Accessories");
                                NewOpt[7].value = 'APPIAC';
                                NewOpt[8] = new Option("Infant Apparel");
                                NewOpt[8].value = 'APPINF';
                                NewOpt[9] = new Option("Men Accessories");
                                NewOpt[9].value = 'APPMAC';
                                NewOpt[10] = new Option("Men Apparel");
                                NewOpt[10].value = 'APPMEN';
                                NewOpt[11] = new Option("Uniforms/Workclothes");
                                NewOpt[11].value = 'APPUNI';
                                NewOpt[12] = new Option("Women Accessories");
                                NewOpt[12].value = 'APPWAC';
                                NewOpt[13] = new Option("Women Apparel");
                                NewOpt[13].value = 'APPWOM';
                        }
                        
                        if (menuNum == 2) {
                                NewOpt = new Array;
                                NewVal = new Array;
                                
                                NewOpt[0] = new Option("All Electronics");
                                NewOpt[0].value = 'ELEALL';
                                NewOpt[1] = new Option("Appliances");
                                NewOpt[1].value = 'ELEAPP';
                                NewOpt[2] = new Option("Audio");
                                NewOpt[2].value = 'ELEAUD';
                                NewOpt[3] = new Option("Automotive");
                                NewOpt[3].value = 'ELEAUT';
                                NewOpt[4] = new Option("Communications");
                                NewOpt[4].value = 'ELECOM';
                                NewOpt[5] = new Option("Computer Software");
                                NewOpt[5].value = 'ELECPS';
                                NewOpt[6] = new Option("Computers");
                                NewOpt[6].value = 'ELECPU';
                                NewOpt[7] = new Option("Electronic Closeouts");
                                NewOpt[7].value = 'ELE-CL';
                                NewOpt[8] = new Option("Electonics");
                                NewOpt[8].value = 'ELEELE';
                                NewOpt[9] = new Option("Entertainment");
                                NewOpt[9].value = 'ELEENT';
                                NewOpt[10] = new Option("Photographic");
                                NewOpt[10].value = 'ELECAM';
                                NewOpt[11] = new Option("Small/Home Office");
                                NewOpt[11].value = 'ELEOFF';
                                NewOpt[12] = new Option("Telephone");
                                NewOpt[12].value = 'ELETEL';
                                NewOpt[13] = new Option("Video");
                                NewOpt[13].value = 'ELEVID';
                        }
                        
                        if (menuNum == 3) {
                                NewOpt = new Array;
                                NewVal = new Array;
                                
                                NewOpt[0] = new Option("All Automotive");
                                NewOpt[0].value = 'AUTALL';
                                NewOpt[1] = new Option("Accessories");
                                NewOpt[1].value = 'AUTACC';
                                NewOpt[2] = new Option("Add-Ons");
                                NewOpt[2].value = 'AUTADD';
                                NewOpt[3] = new Option("Batteries");
                                NewOpt[3].value = 'AUTBAT';
                                NewOpt[4] = new Option("Buy Backs/Over Stock");
                                NewOpt[4].value = 'AUT-CL';
                                NewOpt[5] = new Option("Chemicals");
                                NewOpt[5].value = 'AUTCHE';
                                NewOpt[6] = new Option("Electronics");
                                NewOpt[6].value = 'AUTELE';
                                NewOpt[7] = new Option("Lubicants");
                                NewOpt[7].value = 'AUTLUB';
                                NewOpt[8] = new Option("Marine");
                                NewOpt[8].value = 'AUTMAR';
                                NewOpt[9] = new Option("Motorcycles");
                                NewOpt[9].value = 'AUTMOT';
                                NewOpt[10] = new Option("Recreational Vehicle");
                                NewOpt[10].value = 'AUTREC';
                                NewOpt[11] = new Option("Replacement Parts");
                                NewOpt[11].value = 'AUTREP';
                                NewOpt[12] = new Option("Shop Equipment");
                                NewOpt[12].value = 'AUTSHO';
                                NewOpt[13] = new Option("Sound");
                                NewOpt[13].value = 'AUTAUD';
                                NewOpt[14] = new Option("Tires");
                                NewOpt[14].value = 'AUTTIR';
                                NewOpt[15] = new Option("Tools");
                                NewOpt[15].value = 'AUTTOO';
                                NewOpt[16] = new Option("Trucks");
                                NewOpt[16].value = 'AUTTRU';
                        }
                        
                        if (menuNum == 4) {
                                NewOpt = new Array;
                                NewVal = new Array;
                                
                                NewOpt[0] = new Option("All Jewelry");
                                NewOpt[0].value = 'JEWALL';
                                NewOpt[1] = new Option("Costume Jewelry");
                                NewOpt[1].value = 'JEWCOS';
                                NewOpt[2] = new Option("Fine Jewelry");
                                NewOpt[2].value = 'JEWFIN';
                                NewOpt[3] = new Option("Gemstones & Minerals");
                                NewOpt[3].value = 'JEWGEM';
                                NewOpt[4] = new Option("Specialty / Custom");
                                NewOpt[4].value = 'JEWCUS';
                        }
                        
                        if (menuNum == 5) {
                                NewOpt = new Array;
                                NewVal = new Array;
                                
                                NewOpt[0] = new Option("All Foods");
                                NewOpt[0].value = 'FOOALL';
                                NewOpt[1] = new Option("Alcoholic Beverages");
                                NewOpt[1].value = 'FOOALC';
                                NewOpt[2] = new Option("Food Surplus");
                                NewOpt[2].value = 'FOO-CL';
                                NewOpt[3] = new Option("Health & Nutrition");
                                NewOpt[3].value = 'FOOHEA';
                                NewOpt[4] = new Option("Non-Alcoholic Bev.");
                                NewOpt[4].value = 'FOOBEV';
                                NewOpt[5] = new Option("Packaged Foods");
                                NewOpt[5].value = 'FOOPAC';
                                NewOpt[6] = new Option("Perishables");
                                NewOpt[6].value = 'FOOPER';
                                NewOpt[7] = new Option("Unpackaged Foods");
                                NewOpt[7].value = 'FOOUNP';
                        }
                        
                        if (menuNum == 6) {
                                NewOpt = new Array;
                                NewVal = new Array;
                                
                                NewOpt[0] = new Option("All Business Svcs.");
                                NewOpt[0].value = 'BUSALL';
                                NewOpt[1] = new Option("Advertising Services");
                                NewOpt[1].value = 'BUSADV';
                                NewOpt[2] = new Option("Architectural Svcs.");
                                NewOpt[2].value = 'BUSARC';
                                NewOpt[3] = new Option("Business Opportunity");
                                NewOpt[3].value = 'BUSOPP';
                                NewOpt[4] = new Option("Copy Services");
                                NewOpt[4].value = 'BUSCOP';
                                NewOpt[5] = new Option("Employment Services");
                                NewOpt[5].value = 'BUSEMP';
                                NewOpt[6] = new Option("Entertainment Svcs.");
                                NewOpt[6].value = 'BUSENT';
                                NewOpt[7] = new Option("Financial Services");
                                NewOpt[7].value = 'BUSFIN';
                                NewOpt[8] = new Option("Legal Services");
                                NewOpt[8].value = 'BUSLEG';
                                NewOpt[9] = new Option("Premiums");
                                NewOpt[9].value = 'BUSPRE';
                                NewOpt[10] = new Option("Promotional Services");
                                NewOpt[10].value = 'BUSPRO';
                                NewOpt[11] = new Option("Real Estate Services");
                                NewOpt[11].value = 'BUSREA';
                        }
                        
                        if (menuNum == 7) {
                                NewOpt = new Array;
                                NewVal = new Array;
                                
                                NewOpt[0] = new Option("All Commodities");
                                NewOpt[0].value = 'CMOALL';
                                NewOpt[1] = new Option("Exchange/Currency");
                                NewOpt[1].value = 'CMOCUR';
                                NewOpt[2] = new Option("Ores/Minerals/Meals");
                                NewOpt[2].value = 'CMOORE';
                                NewOpt[3] = new Option("Precious Metals");
                                NewOpt[3].value = 'CMOPRE';
                                NewOpt[4] = new Option("Tobacco");
                                NewOpt[4].value = 'CMOTOB';
                        }
                        
                        tot = NewOpt.length;
                        lst = document.FormX.Selection.options.length;
                        
                        for (i=lst; i>0; i--) {
                                document.FormX.Selection.options[i] = null;
                        }
                        
                        for (i=0; i<tot; i++) {
                                document.FormX.Selection.options[i] = NewOpt[i];
                        }
                }
        </script>
        
        <select name="Category" onChange="FormXChangeMenu()" size="8">
                <option value="GEN">General Merchandise
                <option value="APP">Apparel/Accessories
                <option value="ELE">Consumer Electronics
                <option value="AUT">Automotive
                <option value="JEW">Jewelry
                <option value="FOO">Food & Beverage
                <option value="BUS">Business Services
                <option value="CMO">Commoditites
        </select>
        
        <select name="Selection" size="8">
                <option value="GENALL">All General Mdse.
                <option value="GENARS">Arts & Crafts
                <option value="GENBOO">Books & Publications
                <option value="GENDOL">For Dollar Stores
                <option value="GENGIF">Giftware
                <option value="GEN-CL">GM Closeouts/Surplus
                <option value="GENHAR">Hardware
                <option value="GENHBA">Health & Beauty Aids
                <option value="GENHOM">Home Fashion
                <option value="GENKIT">Housewares
                <option value="GENNOV">Novelties
                <option value="GENHOL">Seasonal/Holiday
                <option value="GENSPO">Sporting Goods
                <option value="GENTOY">Toys/Games
                <option value="GENALT">Adult Merchandise
                <option value="GENOTH">Other
        </select>
        
        <input type="Submit">
</form>


</body>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Structure your ColdFusion code with Fusebox. Get the official book at 
http://www.fusionauthority.com/bkinfo.cfm
FAQ: http://www.thenetprofits.co.uk/coldfusion/faq
Archives: http://www.mail-archive.com/[email protected]/
Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists

Reply via email to