NinethSense oWnZ mE!: Praveen’s drawing book

Choose a Topic:

Thu
25
May '06

Dynamic loading of content in a Dropdown box - without Ajax - Part II

This is same as my previous blog “Dynamic loading of content in a Dropdown box - without Ajax - Part I”, but I have used PHP with MySQL connectiviry for doing this.
 
  <select name=“cmbBusiCategory” id=“cmbBusiCategory” onChange=“ChangeValues()”>
   </select><br /><br />
  <select name=“cmbSubCategory” id=“cmbSubCategory”>
   </select>
< ?_php
	require_once “db_common.inc”;
	db_connect();
	$res = mysql_query(“select * from category where parent_id=0 and language_id=1″);
	$i=0;
	echo “<script language=’javascript’>\n;
 
	while($row = mysql_fetch_assoc($res)){
		echo “cmbBusiCategory.options[$i] =  new Option(”“.$row[”name“].”“);\n;
		echo “cmbBusiCategory.options[$i].value = “ . $row[“id”] . “;\n;
		
		$s1[$i] = $row[“id”]; 
		
		$res2 = mysql_query(“select * from category where parent_id=”.$row[“id”].” and language_id=1″);
		
		echo “menu”.$row[“id”] . “= new Array();\n;
		$j = 0;
		while($row2 = mysql_fetch_assoc($res2)){
			echo “menu”.$row[“id”] .“[”.$j.“]” .“=”” . $row2[”name“] . ““;\n;
			$j++;
		}
		
		$i++;
	}
 
	echo “function ChangeValues() {\n;
	echo “submenu = new Array();\n;
	echo “cmbSubCategory.options.length = 0;\n;
	echo “switch (cmbBusiCategory.value) {\n;
	for($i=0;$i< count($s1);$i++) {
		echo “case “” . $s1[$i] . ““:” . “submenu = menu” . $s1[$i] .“;break;”;
	}
	echo “}\n;
	echo “for (i=0;i<submenu.length;i++) {\n;
	echo “cmbSubCategory.options[i] =  new Option(submenu[i]);\n;
	echo “cmbSubCategory.options[i].value =  i;\n;
	echo “}\n;
	echo “}\n;
	echo “ChangeValues();”;
	echo “</script>”;
?>
 
'

Dynamic loading of content in a Dropdown box - without Ajax - Part I

This code demonstrates a depricated way (my words) of dynamically filling dropdown list boxes based on the input value from another dropdown box.
 
<p>Categories 
  <select name=“cmbCat1″ id=“cmbCat1″ onChange=“ChangeValues()”>
    </select>
</p>
<p>Sub Categories
  <select name=“cmbCat2″ id=“cmbCat2″>
        </select>
</p>
 
 
<script language=“javascript”>
 
	var Category = new Array()
	Category[0] = “FtFesT1″;
	Category[1] = “teFsT2″;
	Category[2] = “teFsT3″;
 
	var First = new Array()
	First[0] = “FtFesT1″;
	First[1] = “teFsT2″;
	First[2] = “teFsT3″;
	First[3] = “tFesT4″;
	First[4] = “tFesT5″;
 
	var Second = new Array()
	Second[0] = “teSsT1″;
	Second[1] = “teSsT2″;
 
 
	var Third = new Array()
	Third[0] = “TtesT1″;
	Third[1] = “TtesT2″;
	Third[2] = “TtesT3″;
 
 
// Fill Main Category box
	for (i=0;i<category .length;i++) {
		cmbCat1.options[i] =  new Option(Category[i]);
		cmbCat1.options[i].value =  i;
	}
 
//	ChangeValues()
function ChangeValues() {
	var submenu = new Array();
 
	switch (cmbCat1.value) {
		case “0″: submenu = First;break;
		case “1″: submenu = Second;break;
		case “2″: submenu = Third;break;
	default:
		submenu = First;break;
	}
 
	// Fill submenu
	for (i=0;i<submenu.length;i++) {
		cmbCat2.options[i] =  new Option(submenu[i]);
		cmbCat2.options[i].value =  i;
	}
 
}
//Fill fist submenu
ChangeValues();
</script>
</category></script>
The CodeProject Microsoft Developer Network Official ASP.NET Forums Microsoft .NET Framework Community Microsoft Most Valuable Professional Kidoos forums Microsoft Visual Studio Developer Home Professional Information Technology Solutions Microsoft Research Home Kerala Microsoft Users Group Community Website