你可以直接把这些数据永久保存在一个xml文档里,加载的时候直接读取xml文档即可

解决方案 »

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>无标题文档</title>
    </head><body>
    <script type="text/javascript">
    //直接构造一个json,轻巧又快速
    var data = {
    "北京":["100001","北京","100W"],
    "杭州":["123456","浙江","200W"]
    }
    window.onload = function()
    {
    var citylist = document.getElementById("sel");
    for(var city in data)
    {
    var op = new Option(city, city);
    citylist.options.add(op);
    }
    citylist.onchange = function()
    {
    var city = this.options[this.selectedIndex].innerHTML;
    var info = data[city];
    document.getElementById("t1").value = info[0];
    document.getElementById("t2").value = info[1];
    document.getElementById("t3").value = info[2];
    }
    }
    </script><select id="sel">
    </select>
    <input type="text" id="t1" />
    <input type="text" id="t2" />
    <input type="text" id="t3" />
    </body>
    </html>
      

  2. 谢谢答复, 1楼的方案意味着每次数据库改动,比如新添城市,就需要改动xml文件(这个方法我倒是可以接受),不过为了减少对服务器的访问,就意味着我要把这个xml文件传到客户端,保存在客户的机器上,然后每次当数据有了改动以后,再传一份新的xml文件。这样似乎比较麻烦,请问有没有其他的方案利用xml.2楼的方案构造json,我不是特别了解,是不是意味着
    var data = { 
    "北京":["100001","北京","100W"], 
    "杭州":["123456","浙江","200W"] 

    动态从服务器端生成?就是说由服务器到数据库读取数据,然后构建字符串,直接写到jsp文件中,不过是写成"北京":["100001","北京","100W"], 这种形式,而不是xml的形式?谢谢
      

  3. 对,就是动态生成,其实像这些城市信息,几年内应该都不会再变了吧,直接写成文本放页面上好了,省得再读数据库JOSN有点像hashtable,前面是一个键,后面是一个值,值内容是一个数组这样你只要保证最后在生成的HTML页上的数据是这样子就好了
    var data = { 
    "北京":["100001","北京","100W"], 
    "杭州":["123456","浙江","200W"] 

    完全可以这样写
    <%
       String str = "{'北京':['100001','北京','100W'],'杭州':['123456','浙江','200W']}"; 
    %>var data = <%=str%>
      

类似问题 »