Bind a dropdown according to data in another drop down using traditional AJAX
Code for client side written within script:
function CallTemplate() { //alert(document.getElementById('cmbAssignTo_cmbSimple').value); var objDd= document.getElementById('ddlmenu') var strValue = objDd.options[objDd.selectedIndex].value; //Create XMLHttpRequest object:'request' CreateXmlHttpRequestObject(); //Build the required Query string var sPass=1; var retrieveParam = 'id='+ strValue; var retrieveURL = "AJAX.aspx"; var url = retrieveURL + '?' + retrieveParam; request.open('GET',url,true); request.onreadystatechange = CheckTemplate; request.send(null); } function CheckTemplate() { document.getElementById("ddlsubmenu").innerText=""; if(request.readyState == 4 || request.readyState == 'complete') { if(request.status == 200) { var opt=document.createElement("option"); opt.value="-1"; opt.text="----select subcategory---"; document.getElementById("ddlsubmenu").add(opt); var DdVisitTemp = document.getElementById("ddlmenu"); var rootFile = request.responseXML.documentElement; var Id = rootFile.getElementsByTagName('Id'); var Name = rootFile.getElementsByTagName('Name'); if(Id.length > 0 || Name.length > 0) { for(var i=0;i { if(Name.length > 0) { var opt=document.createElement("option"); opt.value=Id[i].text; opt.text=Name[i].text; document.getElementById("ddlsubmenu").add(opt); } } } }// inner IF } // Outer IF } function CreateXmlHttpRequestObject() { try { request = new XMLHttpRequest(); } catch(nething) { try { request = new ActiveXObject('Msxml2.XMLHTTP'); } catch(othr) { try { request = new ActiveXObject('Microsoft.XMLHTTP'); } catch(err) { request = false; } } } if(!request) { alert("Error initializing XMLHttpRequest object!"); } }
code for ajax page i.e ajax.aspx
private void Page_Load(object sender, System.EventArgs e) { string id=string.Empty ; System.Text.StringBuilder strXml; string passedValue = Request.QueryString["id"]; string strFill=" select PK_PRIMARY_KEY,TITLE_SUBMENU from SUBJECT_SUBMENU where FK_SUBJECTMENU_ID = '" + id + "' "; DataTable dttemp= con.connectiondatatable(strFill); int j=dttemp.Rows.Count; strXml = new System.Text.StringBuilder (); strXml.Append(""); if(j > 0) { for(int i=0 ; i { strXml.Append(""+dttemp.Rows[i]["PK_PRIMARY_KEY"].ToString() +" "); strXml.Append(" "+dttemp.Rows[i]["TITLE_SUBMENU"].ToString()+" "); } } else { strXml.Insert(-1,""); } strXml.Append(""); XmlDocument xTemplate = new XmlDocument(); xTemplate.LoadXml(strXml.ToString()); Response.ContentType = "text/xml"; Response.CacheControl = "No-cache"; xTemplate.Save(Response.OutputStream); // Put user code to initialize the page here }
There are two tables
1.SUBJECTMENU
2.SUBJECT_SUBMENU
Relation between them
SUBJECT_SUBMENU.FK_SUBJECTMENU_ID=SUBJECTMENU.PK_SUBJECTMENU_ID
Step 1:
create two tables must have relationship between them like above.
step 2:
Bind 1st dropdown on page load.
step 3:
Write code for client side as well as ajax page.
When u change 1st dropdown ,2nd dropdown will change.
How to create a ajax page:
Example:
<%@ Page language="c#" Codebehind="AJAX.aspx.cs" AutoEventWireup="false" Inherits="KnowledgeSharing.AJAX" %>except this one
Comments
Post a Comment