var CascadedDropDownToRefresh=null; function CascadedDropDownSubmit(Entity, EntityToFilter, Filter, Control) { if(Filter=="") { // i.e. user clicked "--select--" option var regexpSuffixStart = /__Many__(.*)/gi; var ControlName=Control.name; ControlName=ControlName.replace(regexpSuffixStart, ""); Control.length = 1; Control[0].value=""; Control[0].text="--- No "+ControlName+"!!! ---"; return; } var objForm=Control.form; // Note, this is a LOCAL variable. if(objForm.hidAjaxUniqueKeyValidate) {objForm.hidAjaxUniqueKeyValidate.value=''; } objForm.hidAjaxCascadedDropDown.value=Entity + "," + EntityToFilter + "," + Filter; if(window.location.href.indexOf("DEBUG=true")>=0) {alert(objForm.hidAjaxCascadedDropDown.value);} CascadedDropDownToRefresh=Control; if(typeof(objForm.Controller)=="undefined") { // backward compatibility alert("Incompatible code, Generate it afresh!"); return; } var objController=eval(objForm.Controller.value); URL=''; if(typeof(objController)!='undefined' && typeof(objController.CascadedDropDownSubmitURL)!='undefined' && objController.CascadedDropDownSubmitURL!='' ) { URL=objController.CascadedDropDownSubmitURL; // Thus it's externally accessible } AjaxSend(URL, objForm, 'CascadedDropDownRefresh'); } function CascadedDropDownRefresh(Response) { // Note, this is ESCAPED response. var myResponse = unescape(Response); if(window.location.href.indexOf("DEBUG=true")>=0) {alert(myResponse);} myResponseSplitted = myResponse.split("\n"); CascadedDropDownToRefresh.length=myResponseSplitted.length; var regexpSuffixStart = /__Many__(.*)/gi; var ControlName=CascadedDropDownToRefresh.name; ControlName=ControlName.replace(regexpSuffixStart, ""); if(myResponseSplitted.length==1) { //Checks whether a country has no states. CascadedDropDownToRefresh[0].value=""; CascadedDropDownToRefresh[0].text="--- No "+ControlName+"!!! ---"; } else { CascadedDropDownToRefresh[0].value=""; CascadedDropDownToRefresh[0].text="--- Select "+ControlName+" ---"; } var A2Element=""; for(i=0; i< myResponseSplitted.length-1; i++) { myResponseLineSplitted=myResponseSplitted[i].split("|"); //split row values based on columns //alert(myResponseLineSplitted); myResponseLineSplittedElement=myResponseLineSplitted[1]; //such as 1|Maharashtra etc. // alert(myResponseLineSplittedElement); // alert(myResponseLineSplittedElement.length); if(myResponseLineSplittedElement!="") { // CascadedDropDownToRefresh[i+1].value=myResponseLineSplitted[0]; // alert(CascadedDropDownToRefresh[i+1].value); CascadedDropDownToRefresh[i+1].value=myResponseLineSplitted[0]; CascadedDropDownToRefresh[i+1].text=myResponseLineSplitted[1]+" ["+myResponseLineSplitted[0]+']'; // alert(CascadedDropDownToRefresh[i+1].text); } } }