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