when i change the customerId select, the departmentId select and the contactorName Select will also change,but the following code can't do that.can anybody points out the problem? The code is belowing: ------------------------------------------------------------------------------------- <script type="text/javascript"> var xmlHttp; function createXMLHttpRequest() { if (window.ActiveXObject) { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } else if (window.XMLHttpRequest) { xmlHttp = new XMLHttpRequest(); } } function refreshDeptAndContacList() { var companyId = document.getElementById ("companyId").value; if(companyId == "") { clearDepartmentsList(); return; } var url = "getDeptsOfCustomer?companyId="+ companyId; createXMLHttpRequest(); xmlHttp.onreadystatechange = handleStateChange; xmlHttp.open("GET", url, true); xmlHttp.send(null); } function handleStateChange() { if(xmlHttp.readyState == 4) { if(xmlHttp.status == 200) { updateDepartmentsList(); } } } function updateDepartmentsList() {alert (xmlHttp.responseXML.getElementsByTagName("department")); clearDepartmentsList(); var departments = document.getElementById("departmentId"); var resultsOfDept = xmlHttp.responseXML.getElementsByTagName("department"); var optionOfDept = null; for(var i = 0; i < resultsOfDept.length; i++) { optionOfDept = document.createElement("option"); optionOfDept.appendChild(document.createTextNode (resultsOfDept[i].firstChild.nodeValue)); departments.appendChild(optionOfDept); }
var contactorNames = document.getElementById ("contactorName"); var resultsOfContac = xmlHttp.responseXML.getElementsByTagName("contactorName"); var optionOfContac = null; for(var i = 0; i < resultsOfContac.length; i++) { optionOfContac = document.createElement("option"); optionOfContac.appendChild(document.createTextNode (resultsOfContac[i].firstChild.nodeValue)); contactorNames.appendChild(optionOfContac); } } function clearDepartmentsList() { var departments = document.getElementById("departmentId"); while(departments.childNodes.length > 0) { departments.removeChild(departments.childNodes[0]); } var contactorNames = document.getElementById ("contactorName"); while(contactorNames.childNodes.length > 0) { contactorNames.removeChild(contactorNames.childNodes [0]); } } </script> ----------------------------------------------------------------------------------------------------- <SELECT onchange="refreshDeptAndContacList();" size=1 id='companyId' name='companyId' style="width:100%"> <OPTION value=""> </OPTION> {% for company in queryCompanyList %} <OPTION value={{ company.CUSTOMER_ID }} >{{ company.COMPANY_NAME }}</OPTION> {% endfor %} </SELECT> <SELECT size=1 id='departmentId' name=departmentId style="width:200px" onchange=""> </SELECT> <SELECT size=1 id='contactorName' name=contactorName style="width: 100%" onchange=""> </SELECT> ---------------------------------------------------------------------------------------------------------------------------------------------------- class GetDeptsOfCustomer(webapp.RequestHandler): def get(self): self.response.headers['ContentType'] = "text ml;charset=UTF-8" companyId = self.request.get('companyId','1101') queryDeptList = db.GqlQuery("SELECT * FROM M_CUSTOMERS_DEPT WHERE CUSTOMER_ID = :1 ORDER BY DEPT_ID", companyId) results = "<companys>" for dept in queryDeptList: results += "<department>" results += dept.DEPT_NAME results += "</department>" results += "<contactorName>" results += dept.PERSON_IN_CHARGE results += "</contactorName>" results += "</companys>" self.response.headers['ContentType'] = "text/xml" self.response.out.write(results) --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~----------~----~----~----~------~----~------~--~---