PDA

View Full Version : dependent dropdown help?


Codeman0013
09-12-2006, 03:27 PM
Hello, i'm working on a website and i have 4 dropdown's that are on a page and i want to make them dependent. Right now i have them set to pull from the database but i want it set to based on what they select on number 1 it populates number 2 and number 2 populates 3 and 3 does 4 and so on. Can someone take a look at my code and help me to achieve this as i have never done it before and would appreciate any help at all..

<?php require_once('Connections/conn_dj.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}

mysql_select_db($database_conn_dj, $conn_dj);
$query_rs_industry = "SELECT * FROM tbl_industry ORDER BY industry_name ASC";
$rs_industry = mysql_query($query_rs_industry, $conn_dj) or die(mysql_error());
$row_rs_industry = mysql_fetch_assoc($rs_industry);
$totalRows_rs_industry = mysql_num_rows($rs_industry);

mysql_select_db($database_conn_dj, $conn_dj);
$query_rs_productcategory = "SELECT * FROM tbl_productcat ORDER BY tbl_productcat.productCat_name";
$rs_productcategory = mysql_query($query_rs_productcategory, $conn_dj) or die(mysql_error());
$row_rs_productcategory = mysql_fetch_assoc($rs_productcategory);
$totalRows_rs_productcategory = mysql_num_rows($rs_productcategory);

mysql_select_db($database_conn_dj, $conn_dj);
$query_rs_product = "SELECT * FROM tbl_products ORDER BY tbl_products.products_name";
$rs_product = mysql_query($query_rs_product, $conn_dj) or die(mysql_error());
$row_rs_product = mysql_fetch_assoc($rs_product);
$totalRows_rs_product = mysql_num_rows($rs_product);

mysql_select_db($database_conn_dj, $conn_dj);
$query_rs_outsidena = "SELECT * FROM intl_countries ORDER BY intl_countries.name";
$rs_outsidena = mysql_query($query_rs_outsidena, $conn_dj) or die(mysql_error());
$row_rs_outsidena = mysql_fetch_assoc($rs_outsidena);
$totalRows_rs_outsidena = mysql_num_rows($rs_outsidena);

mysql_select_db($database_conn_dj, $conn_dj);
$query_rs_state = "SELECT * FROM tbl_states ORDER BY tbl_states.`state`";
$rs_state = mysql_query($query_rs_state, $conn_dj) or die(mysql_error());
$row_rs_state = mysql_fetch_assoc($rs_state);
$totalRows_rs_state = mysql_num_rows($rs_state);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>DICKEY-john Corporation | Distributors</title>
<link href="_lib/sub.css" rel="stylesheet" type="text/css" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="keywords" content="Distributor, Sales, Purchase, U.S., International" />
<meta name="description" content="Enter your zip or postal code to find the DICKEY-john distributor nearest you." />
</head>

<body>
<div id="black">&nbsp;</div>
<div id="siteContainer">
<?php include("_inc/topNav.inc"); ?>
<div id="headerContainer">Distributors</div>
<div class="divContainer"><div class="horizDiv"></div><img src="/_img/divEnd.png" alt="div" height="16" width="4" align="right" /></div>
<div id="contentContainer">
<div id="fullContainer">
<div id="stretchCrumbs">
<a href="/index.php">Home</a>
» <a class="high" href="/distributors/">Distributors</a>
</div>
<h1>Distributors</h1>
<p>Search for DICKEY-john distributers by specifying any combonation of the<br />
following classifications: industry, product category, product, and state.</p>
<br />

<br />




<h2>North America</h2>

<table class="setTbl listTbl" width="90%" cellpadding="0" cellspacing="0" border="0">
<tr><td>Industry:</td><td>
<select name="industry" id="center" onchange="javascript:document.centerform.submit()">
<option value="">Select an Industry...</option>
<?php do { ?>
<option value="<?php echo $row_rs_industry['industry_name']; ?>"><?php echo $row_rs_industry['industry_name']; ?></option>

<?php } while ($row_rs_industry = mysql_fetch_assoc($rs_industry)); ?></td></tr>
</select>
<tr><td width="125">Product Category: </td> <td>
<select name="prodcat" id="center" onchange="javascript:document.centerform.submit()">
<option value="">Select a product category...</option>
<?php do { ?>
<option value="<?php echo $row_rs_productcategory['productCat_name']; ?>"><?php echo $row_rs_productcategory['productCat_name']; ?></option>

<?php } while ($row_rs_productcategory = mysql_fetch_assoc($rs_productcategory)); ?></td></tr>
</select>
<tr>
<td>Product:</td><td>
<select name="prod" id="center" onchange="javascript:document.centerform.submit()">
<option value="">Select a product...</option>
<?php do { ?>
<option value="<?php echo $row_rs_product['products_name']; ?>"><?php echo $row_rs_product['products_name']; ?></option>
<?php } while ($row_rs_product = mysql_fetch_assoc($rs_product)); ?>
</td></tr>
</select>
<td>State:</td>
<td> <select name="state" id="center" onchange="javascript:document.centerform.submit()">
<option value="">Select a state...</option>
<?php do { ?>
<option value="<?php echo $row_rs_state['state']; ?>"><?php echo $row_rs_state['state']; ?></option>
<?php } while ($row_rs_state = mysql_fetch_assoc($rs_state)); ?>
</td></tr>
</select></td>
</tr>
<tr><td>&nbsp;</td><td><input class="PythonButton" type="submit" value="Find" name="{Button_Name}"></td></tr>
</table>
</form>

<br />
<h2>Outside North America </h2>
<table class="setTbl listTbl" width="90%" cellpadding="0" cellspacing="0" border="0">
<tr><td> <select name="outna" id="center" onchange="javascript:document.centerform.submit()">
<option value="">Select a country...</option>
<?php do { ?>
<option value="<?php echo $row_rs_ousidena['name']; ?>"><?php echo $row_rs_outsidena['name']; ?></option>
<?php } while ($row_rs_outsidena = mysql_fetch_assoc($rs_outsidena)); ?>
</td></tr>
</select></td>
</tr></td></tr>
</table>
</form>
</div>
</div>
<?php include("_inc/footer.inc"); ?>
</body>
</html>
<?php
mysql_free_result($rs_industry);

mysql_free_result($rs_productcategory);

mysql_free_result($rs_product);

mysql_free_result($rs_outsidena);

mysql_free_result($rs_state);
?>

vinyl-junkie
09-13-2006, 05:43 AM
You really need to use the forum search. This sort of problem has been solved many times. Here (http://www.codingforums.com/showthread.php?t=89262&highlight=dependent+dropdown) is one such example. :)

Codeman0013
09-13-2006, 08:15 PM
I guess what i need to know is if javascript can connect to the database and pull the information out and put it there? Would you be able to help me with this? Also would this page be able to be made into a php page that does that same thing? I'm very new to this trying to learn it..

Fumigator
09-13-2006, 08:37 PM
I bet you didn't even click on the link VJ gave you.

vinyl-junkie
09-14-2006, 01:59 AM
Use your PHP/MySQL to create all your dropdown lists, and use the javascript (in the link I posted previously) to show or hide the appropriate dropdown list(s).

Codeman0013
09-15-2006, 08:18 PM
Ok i have the javascript hard coded into it and it works could someone look at the js and help me convert this to php dependent dropdowns?

var hide_empty_list=true;

addListGroup("vehicles", "industry");

addList("industry", "Select an industry", "", "dummy-maker", 1);
addList("industry", "Agriculture", "Agriculture", "Agriculture");
addList("industry", "Analytical", "Analytical", "Analytical");
addList("industry", "Public Works", "Public Works", "Public Works");

addList("dummy-maker", "Select an industry", "", "dummy-car");

addOption("dummy-car", "Select an industry", "");

addList("Agriculture", "Select a product category", "", "dummy-ag", 1);
addList("Agriculture", "Agriculture Material Application Controllers", "mac", "Agriculture Material Application Controllers");
addList("Agriculture", "Agriculture Grain Analyzers", "ga", "Agriculture Grain Analyzers");
addList("Agriculture", "Soil Compaction Testers", "sct", "Soil Compaction Testers");
addList("Agriculture", "Agriculture Ground Speed Sensors", "gss", "Agriculture Ground Speed Sensors");
addList("Agriculture", "Agriculture Testing Equimpment", "te", "Agriculture Testing Equimpment");
addList("Agriculture", "Guidance Systems", "gs", "Guidance Systems");
addList("Agriculture", "Agriculture Moisture Testers", "mt", "Agriculture Moisture Testers");
addList("Agriculture", "Planter/Grain Drill/Air Cart Monitors", "pgcm", "Planter/Grain Drill/Air Cart Monitors");
addList("Agriculture", "Agriculture Accessories", "acc", "Agriculture Accessories");


addOption("dummy-ag", "Select a product category", "");

addOption("Agriculture Material Application Controllers", "Select a product", "", 1);
addOption("Agriculture Material Application Controllers", "CCS100", "CCS100");
addOption("Agriculture Material Application Controllers", "CMS100", "CMS100");
addOption("Agriculture Material Application Controllers", "IntelliAg", "IntelliAg");
addOption("Agriculture Material Application Controllers", "Land Manager", "Land Manager");
addOption("Agriculture Material Application Controllers", "Land Manager II", "Land Manager II");
addOption("Agriculture Material Application Controllers", "Land Manager SE", "Land Manager SE");

addOption("Agriculture Grain Analyzers", "Select a product", "", 1);
addOption("Agriculture Grain Analyzers", "Instalab 600", "Instalab 600");


addOption("Soil Compaction Testers", "Select a product", "", 1);
addOption("Soil Compaction Testers", "Soil Compaction Tester", "Soil Compaction Tester");

addOption("Agriculture Ground Speed Sensors", "Select a product", "", 1);
addOption("Agriculture Ground Speed Sensors", "Hall Effect Sensor", "Hall Effect Sensor");
addOption("Agriculture Ground Speed Sensors", "iSpeed", "iSpeed");
addOption("Agriculture Ground Speed Sensors", "Radar II", "Radar II");
addOption("Agriculture Ground Speed Sensors", "Radar III", "Radar III");
addOption("Agriculture Ground Speed Sensors", "Universal Speed Sensor", "Universal Speed Sensor");

addOption("Agriculture Testing Equimpment", "Select a product", "", 1);
addOption("Agriculture Testing Equimpment", "Application Rate Sensor Tester", "Application Rate Sensor Tester");
addOption("Agriculture Testing Equimpment", "Seed Simulator", "Seed Simulator");
addOption("Agriculture Testing Equimpment", "Sensor Tester 90", "Sensor Tester 90");
addOption("Agriculture Testing Equimpment", "Vehicle Ground Speed Simulator 200", "Vehicle Ground Speed Simulator 200");

addOption("Guidance Systems", "Select a product", "", 1);
addOption("Guidance Systems", "FieldGuide Lightbar", "FieldGuide Lightbar");

addOption("Agriculture Moisture Testers", "Select a product", "", 1);
addOption("Agriculture Moisture Testers", "Dj C-2000-PKGS1 Cotton Moisture Tester", "Dj C-2000-PKGS1 Cotton Moisture Tester");
addOption("Agriculture Moisture Testers", "Dj F-2000-1235S1 Hay Moisture Tester", "Dj F-2000-1235S1 Hay Moisture Tester");
addOption("Agriculture Moisture Testers", "Dj FX-2000S1 Hay Moisture Tester", "Dj FX-2000S1 Hay Moisture Tester");
addOption("Agriculture Moisture Testers", "GAC2100 Agri", "GAC2100 Agri");
addOption("Agriculture Moisture Testers", "GAC500 XT", "GAC500 XT");
addOption("Agriculture Moisture Testers", "Harvest Hand", "Harvest Hand");
addOption("Agriculture Moisture Testers", "M20P", "M20P");
addOption("Agriculture Moisture Testers", "M3G", "M3G");

addOption("Planter/Grain Drill/Air Cart Monitors", "Select a product", "", 1);
addOption("Planter/Grain Drill/Air Cart Monitors", "DjASM II", "DjASM II");
addOption("Planter/Grain Drill/Air Cart Monitors", "DM100", "DM100");
addOption("Planter/Grain Drill/Air Cart Monitors", "PM100 and PM100E", "PM100 and PM100E");
addOption("Planter/Grain Drill/Air Cart Monitors", "PM300", "PM300");
addOption("Planter/Grain Drill/Air Cart Monitors", "PM400", "PM400");
addOption("Planter/Grain Drill/Air Cart Monitors", "PM500", "PM500");
addOption("Planter/Grain Drill/Air Cart Monitors", "Seed Manager SE", "Seed Manager SE");

addOption("Agriculture Accessories", "Select a product", "", 1);
addOption("Agriculture Accessories", "10-Inch Handle Prod", "10-Inch Handle Prod");
addOption("Agriculture Accessories", "10-Inch Prod", "10-Inch Prod");
addOption("Agriculture Accessories", "18-Inch Handle Prod", "18-Inch Handle Prod");
addOption("Agriculture Accessories", "36-Inch Handle Prod", "36-Inch Handle Prod");
addOption("Agriculture Accessories", "36-Inch T-Handle", "36-Inch T-Handle");
addOption("Agriculture Accessories", "Accessory Module", "Accessory Module");
addOption("Agriculture Accessories", "Air Pressure Sensor", "Air Pressure Sensor");
addOption("Agriculture Accessories", "Application Rate Sensor", "Application Rate Sensor");
addOption("Agriculture Accessories", "Baled Fiber Probe", "Baled Fiber Probe");
addOption("Agriculture Accessories", "Baler Sensor", "Baler Sensor");
addOption("Agriculture Accessories", "Boom Controller", "Boom Controller");
addOption("Agriculture Accessories", "Carrying Case", "Carrying Case");
addOption("Agriculture Accessories", "Cone & Skein Fiber Probe", "Cone & Skein Fiber Probe");
addOption("Agriculture Accessories", "Continental Magnum Equalizer NH3 Heat Exchanger System/Kit", "Continental Magnum Equalizer NH3 Heat Exchanger System/Kit");
addOption("Agriculture Accessories", "Cotton Ball Cup", "Cotton Ball Cup");
addOption("Agriculture Accessories", "Flow Meters", "Flow Meters");
addOption("Agriculture Accessories", "Hall Effect Sensor", "Hall Effect Sensor");
addOption("Agriculture Accessories", "Handle", "Handle");
addOption("Agriculture Accessories", "High-Rate Seed Sensor", "High-Rate Seed Sensor");
addOption("Agriculture Accessories", "Hopper Level Sensor", "Hopper Level Sensor");
addOption("Agriculture Accessories", "Implement Lift Switch", "Implement Lift Switch");
addOption("Agriculture Accessories", "Liquid Flow Control Valves", "Liquid Flow Control Valves");
addOption("Agriculture Accessories", "Liquid Pressure Sensor", "Liquid Pressure Sensor");
addOption("Agriculture Accessories", "Proportional Hydraulic Flow Control Valves", "Proportional Hydraulic Flow Control Valves");
addOption("Agriculture Accessories", "Recon Flow Sensor", "Recon Flow Sensor");
addOption("Agriculture Accessories", "Servo Hydraulic Flow Control Valves", "Servo Hydraulic Flow Control Valves");
addOption("Agriculture Accessories", "Short-Pin Prod", "Short-Pin Prod");
addOption("Agriculture Accessories", "Split Baler Sensor", "Split Baler Sensor");
addOption("Agriculture Accessories", "Strap-On Recon Flow Sensor", "Strap-On Recon Flow Sensor");
addOption("Agriculture Accessories", "TSM-10 Tachometer Shaft Monitor/Speed-Engine Hour Indicator", "TSM-10 Tachometer Shaft Monitor/Speed-Engine Hour Indicator");
addOption("Agriculture Accessories", "Valve Actuator", "Valve Actuator");
addOption("Agriculture Accessories", "Vapor/Bubble Detector", "Vapor/Bubble Detector");

addList("Analytical", "Select product category", "", "dummy-an", 1);
addList("Analytical", "Analytical Moisture Testers", "amt", "Analytical Moisture Testers");
addList("Analytical", "Analytical Grain Analyzers", "ga", "Analytical Grain Analyzers");
addList("Analytical", "Dewpoint Detectors", "dpt", "Dewpoint Detectors");
addList("Analytical", "Analytical Accessories", "acc", "Analytical Accessories");

addOption("dummy-an", "Select a product category", "");

addOption("Analytical Moisture Testers", "Select a product", "", 1);
addOption("Analytical Moisture Testers", "Dj C-2000-PKGS1 Cotton Moisture Tester", "Dj C-2000-PKGS1 Cotton Moisture Tester");
addOption("Analytical Moisture Testers", "Dj F-2000-1235S1 Hay Moisture Tester", "Dj F-2000-1235S1 Hay Moisture Tester");
addOption("Analytical Moisture Testers", "Dj FX-2000S1 Hay Moisture Tester", "Dj FX-2000S1 Hay Moisture Tester");
addOption("Analytical Moisture Testers", "GAC2100 Agri", "GAC2100 Agri");
addOption("Analytical Moisture Testers", "GAC2100 GI", "GAC2100 GI");
addOption("Analytical Moisture Testers", "GAC2100b", "GAC2100b");
addOption("Analytical Moisture Testers", "GAC500 XT", "GAC500 XT");

addOption("Analytical Grain Analyzers", "Select a product", "", 1);
addOption("Analytical Grain Analyzers", "Instalab 600", "Instalab 600");
addOption("Analytical Grain Analyzers", "OmegAnalyzer G", "OmegAnalyzer G");

addOption("Dewpoint Detectors", "Select a product", "", 1);
addOption("Dewpoint Detectors", "Alnor Dewpointer", "Alnor Dewpointer");

addOption("Analytical Accessories", "Select a product", "", 1);
addOption("Analytical Accessories", "10-Inch Handle Prod", "10-Inch Handle Prod");
addOption("Analytical Accessories", "10-Inch Prod", "10-Inch Prod");
addOption("Analytical Accessories", "18-Inch Handle Prod", "18-Inch Handle Prod");
addOption("Analytical Accessories", "36-Inch Handle Prod", "36-Inch Handle Prod");
addOption("Analytical Accessories", "36-Inch T-Handle", "36-Inch T-Handle");
addOption("Analytical Accessories", "Baled Fiber Probe", "Baled Fiber Probe");
addOption("Analytical Accessories", "Baler Sensor", "Baler Sensor");
addOption("Analytical Accessories", "Carrying Case", "Carrying Case");
addOption("Analytical Accessories", "Cone & Skein Fiber Probe", "Cone & Skein Fiber Probe");
addOption("Analytical Accessories", "Cotton Ball Cup", "Cotton Ball Cup");
addOption("Analytical Accessories", "Handle", "Handle");
addOption("Analytical Accessories", "Short-Pin Prod", "Short-Pin Prod");
addOption("Analytical Accessories", "Split Baler Sensor", "Split Baler Sensor");

addList("Public Works", "Select product category", "", "dummy-pw", 1);
addList("Public Works", "Public Works Material Application Controllers", "pwmac", "Public Works Material Application Controllers");
addList("Public Works", "Automatic Vehicle Locators", "avl", "Automatic Vehicle Locators");
addList("Public Works", "Proportional Joystick Controllers", "pjc", "Proportional Joystick Controllers");
addList("Public Works", "Public Works Ground Speed Sensors", "pwgss", "Public Works Ground Speed Sensors");
addList("Public Works", "Public Works Accessories", "pwacc", "Public Works Accessories");
addList("Public Works", "Public Works Testing Equimpment", "pwte", "Public Works Testing Equimpment");
addList("Public Works", "Ground Speed Adapters", "gsa", "Ground Speed Adapters");

addOption("dummy-pw", "Select a product category", "");

addOption("Public Works Material Application Controllers", "Select a product", "", 1);
addOption("Public Works Material Application Controllers", "CCS100 Application Controller", "CCS100 Application Controller");
addOption("Public Works Material Application Controllers", "CMS100 Application Monitor", "CMS100 Application Monitor");
addOption("Public Works Material Application Controllers", "Control Point Control System", "Control Point Control System");
addOption("Public Works Material Application Controllers", "ICS2000 Control System", "ICS2000 Control System");
addOption("Public Works Material Application Controllers", "LT Control Application Controller", "LT Control Application Controller");

addOption("Automatic Vehicle Locators", "Select a product", "", 1);
addOption("Automatic Vehicle Locators", "Fleet Finder Automatic Vehicle Locator", "Fleet Finder Automatic Vehicle Locator");


addOption("Proportional Joystick Controllers", "Select a product", "", 1);
addOption("Proportional Joystick Controllers", "ControlKING Proportional Joystick Controller", "ControlKING Proportional Joystick Controller");


addOption("Public Works Ground Speed Sensors", "Select a product", "", 1);
addOption("Public Works Ground Speed Sensors", "iSpeed", "iSpeed");
addOption("Public Works Ground Speed Sensors", "Mechanical Speedometer Sensor", "Mechanical Speedometer Sensor");
addOption("Public Works Ground Speed Sensors", "Radar II", "Radar II");
addOption("Public Works Ground Speed Sensors", "Radar III", "Radar III");

addOption("Public Works Accessories", "Select a product", "", 1);
addOption("Public Works Accessories", "12-Volt Valve Relay Driver", "12-Volt Valve Relay Driver");
addOption("Public Works Accessories", "Application Rate Sensor", "Application Rate Sensor");
addOption("Public Works Accessories", "Boom Controller", "Boom Controller");
addOption("Public Works Accessories", "Calibration Keyboard", "Calibration Keyboard");
addOption("Public Works Accessories", "DaRT Data Retrieval Tool", "DaRT Data Retrieval Tool");
addOption("Public Works Accessories", "Down Pressure Sensor", "Down Pressure Sensor");
addOption("Public Works Accessories", "Dual Drop-On Valve Actuator", "Dual Drop-On Valve Actuator");
addOption("Public Works Accessories", "Dual Pulse-Width Modulated Valve Driver", "Dual Pulse-Width Modulated Valve Driver");
addOption("Public Works Accessories", "Flow Meters", "Flow Meters");
addOption("Public Works Accessories", "Gate Height Sensor", "Gate Height Sensor");
addOption("Public Works Accessories", "Hopper Level Sensor", "Hopper Level Sensor");
addOption("Public Works Accessories", "Liquid Flow Control Valves", "Liquid Flow Control Valves");
addOption("Public Works Accessories", "Liquid Pressure Sensor", "Liquid Pressure Sensor");
addOption("Public Works Accessories", "Prewet Anti-Ice Switch", "Prewet Anti-Ice Switch");
addOption("Public Works Accessories", "Proportional Hydraulic Flow Control Valves", "Proportional Hydraulic Flow Control Valves");
addOption("Public Works Accessories", "Proportional Hydraulic Spreader Control Valve", "Proportional Hydraulic Spreader Control Valve");
addOption("Public Works Accessories", "Remote Blast Switch", "Remote Blast Switch");
addOption("Public Works Accessories", "Road Watch Pavement and Air Temperature Sensor", "Road Watch Pavement and Air Temperature Sensor");
addOption("Public Works Accessories", "Rotary Flow Meters", "Rotary Flow Meters");
addOption("Public Works Accessories", "Servo Hydraulic Flow Control Valves", "Servo Hydraulic Flow Control Valves");
addOption("Public Works Accessories", "Spinner RPM Sensor", "Spinner RPM Sensor");
addOption("Public Works Accessories", "Universal Printer", "Universal Printer");
addOption("Public Works Accessories", "Valve Actuator", "Valve Actuator");


addOption("Public Works Testing Equimpment", "Select a product", "", 1);
addOption("Public Works Testing Equimpment", "Application Rate Sensor Tester", "Application Rate Sensor Tester");
addOption("Public Works Testing Equimpment", "Universal Proportional Simulator", "Universal Proportional Simulator");
addOption("Public Works Testing Equimpment", "Vehicle Ground Speed Simulator 200", "Vehicle Ground Speed Simulator 200");

addOption("Ground Speed Adapters", "Select a product", "", 1);
addOption("Ground Speed Adapters", "Chevy/Dodge/Ford/GMC (Spade Terminal)", "Chevy/Dodge/Ford/GMC (Spade Terminal)");
addOption("Ground Speed Adapters", "Chevy/Dodge/Ford/GMC (Weather Pack Connector)", "Chevy/Dodge/Ford/GMC (Weather Pack Connector)");
addOption("Ground Speed Adapters", "Ground Speed Isolation Buffer", "Ground Speed Isolation Buffer");
addOption("Ground Speed Adapters", "International/Ford", "International/Ford");
addOption("Ground Speed Adapters", "Manual Transmission (Deutsch Connector)", "Manual Transmission (Deutsch Connector)");
addOption("Ground Speed Adapters", "Non-World Transmission (Beede/Ford)", "Non-World Transmission (Beede/Ford)");
addOption("Ground Speed Adapters", "Non-World Transmission (Metrapack Connector)", "Non-World Transmission (Metrapack Connector)");
addOption("Ground Speed Adapters", "World Transmission (Fly Lead)", "World Transmission (Fly Lead)");
addOption("Ground Speed Adapters", "World Transmission (Non-Fly Lead)", "World Transmission (Non-Fly Lead)");
addOption("Ground Speed Adapters", "World Transmission (Ring Terminal)", "World Transmission (Ring Terminal)");