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
-~----------~----~----~----~------~----~------~--~---

Reply via email to