http://fason.nease.net/samples/select/

解决方案 »

  1.   

    将数组的值连成字符串传给JS变量,然后在JS中split
      

  2.   

    JSP不懂,PHP这样写:
    echo "<script language='javascript'>\n";
    echo "var array=[];\n";
    while(list($k,$v)=each($array1)){
      echo "array['".$k."']='".$v."';\n";
    }
    echo "</script>\n";
      

  3.   

    to fason(阿信) :我的下拉框的值是动态从数据库中读出来的,不是静态的,我想在javascript中判断应该加载哪些数据,但是现在我没办法把从数据库读出来的值传给javascriptto ice_berg16(寻梦的稻草人) :
    将数组的值连成字符串传给JS变量,然后在JS中split
    ................................................
    是不是有点麻烦,因为我的数据量比较大to afoskoo(暂停打印) :
      可惜我不懂php。不过还是要谢谢几位
      

  4.   

    afoskoo(暂停打印) :的方法用在JSP中是一样的
    循环JSP的数组,将其值输出并传给JS数组
      

  5.   

    不懂JSP,但是我想JSP应该也能象ASP一样在服务器端生成客户端JS代码吧
    在服务器端response.write "var var1=..."类似的意思
      

  6.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>无标题文档</title>
    <script language="JavaScript" type="text/JavaScript">
    var array1 = new Array("1","2","3","4","5","6","7","8","9","10","11","12","13","14")
    function starwu(i) {
    i.length = array1.length;
    for(var a=0; a<array1.length;a++) {
    i.options[a].text = array1[a];
    i.options[a].value = array1[a];
    }
    }
    </script>
    </head>
    <body>
    例表1:<select name="select1" onChange="starwu(select2)">
      <option value="1">1</option>
      <option value="2">2</option>
    </select>&nbsp;
    例表2:<select name="select2">
      <option value="1">1</option>
    </select>
    </body>
    </html>
      

  7.   

    除非放到 iframe 中按你说的不太可能
      

  8.   

    如果是动态的,做个下拉框1向隐藏iframe提交,然后这个iframe用JS改变 parent.document下拉框2的text 和 value 。
    代码看我上面的回复!
      

  9.   

    可以,用XMLHTTP实现利用XMLHTTP实现的二级连动Select.     wanghr100 [原作] 
    http://dev.csdn.net/develop/article/28/28324.shtm
      

  10.   

    to starwu(starwu) :不好意思,我是菜鸟,能不能给个具体的例子,因为我对iframe不熟悉。to wanghr100(灰豆宝宝.net(多爱我一天)) :    oBao.open("POST","Server.asp?sel="+str,false);
        oBao.send();是什么意思?有没有生成xml文档?如果生成了xml文档,是放在客户端还是服务器端的?
      

  11.   

    oBao.open("POST","Server.asp?sel="+str,false);
    这是发送请求,发比我们直接在地址栏上面输入 http://localhost/Server.asp?sel=ttt发送请求,然后,返回值.可以生成xml文档啊.生成后,是传到客户端的.
      

  12.   

    这是我在Server.asp的基础改一下生成XML文档,你可以这样子测试.Sever2.asp?sel=福建省<% @Language="JavaScript" %>
    <?xml version="1.0" encoding="gb2312"?>
    <citys>
    <%
    function OpenDB(sdbname)
    {
    /*
     *--------------- OpenDB(sdbname) -----------------
     * OpenDB(sdbname) 
     * 功能:打开数据库sdbname,返回conn对象.
     * 参数:sdbname,字符串,数据库名称.
     * 实例:var conn = OpenDB("database.mdb");
     * author:wanghr100(灰豆宝宝.net)
     * update:2004-5-12 8:18
     *--------------- OpenDB(sdbname) -----------------
     */
        var connstr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+Server.MapPath(sdbname);
        var conn = Server.CreateObject("ADODB.Connection");
        conn.Open(connstr);
        return conn;
    }
    var oConn = OpenDB("data.mdb");
    var province = Request("sel");
    var arrResult = new Array();
    var sql = "select city from china where province='"+province+"'";
    var rs = Server.CreateObject("ADODB.Recordset");
    rs.Open(sql,oConn,1,1);
    while(!rs.EOF)
    {
        //遍历所有适合的数据放入arrResult数组中.
        Response.Write("<city>" + rs("city").Value + "</city>");
        rs.MoveNext();
    }
    //escape解决了XMLHTTP。中文处理的问题.
    //数组组合成字符串.由","字符串连接.
    //Response.Write(escape(arrResult.join(",")));
    %>
    </citys>
      

  13.   

    可以先用循环把select框里面的东西都Remove掉,然后再添加-----------------
    intCounter=document.all("cboName").options.length

    for (i=0;i<intCounter;i++)
    {
    document.all("cboName").remove(0);  //这里必须用0,为什么想想就知道了
    }

    for(i=0;i<10;i++) //改称需要的循环
    {
    var objOption=document.createElement("OPTION");
    document.all("cboName").options.add(objOption);
    objOption.innerText=i;
    objOption.value=i;
    }
      

  14.   

    to wanghr100(灰豆宝宝.net(多爱我一天)): 
    oBao.open("POST","Server.asp?sel="+str,false);
    如果这样的话,那我岂不是还要刷新jsp页面?
      

  15.   

    <SCRIPT LANGUAGE="JavaScript">
     
    function getData()
    {
    var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); // 异步调用 
    xmlhttp.onreadystatechange = function()
    {
    if (xmlhttp.readyState == 4) // 调用完毕
    {
    if (xmlhttp.status == 200) // 加载成功
    {
    var xmldoc = xmlhttp.responseXML;
    var root = xmldoc.documentElement; alert (xmldoc.xml);
    }
    }
    } var url = 'xml.asp';
    xmlhttp.open("get", url, true);
    xmlhttp.send();
    }
     
    </SCRIPT>
     <BODY>异步调用 xmlhttp 取后台数据
    <input type="button" value="GetData" onclick="getData()"> <%
    dim i, xmlxml = "<?xml version='1.0' encoding='gb2312' ?>"
    xml = xml & "<data>"for i = 1 to 50
    xml = xml & "<record>记录" & i & "</record>"
    nextxml = xml & "</data>"response.ContentType = "text/xml"
    response.write xml
    %>
      

  16.   

    <XML ID="XMLID">
    <customers>
      <customer>
        <name>张三</name>
        <custID>1</custID>
      </customer>
      <customer>
        <name>李四</name>
        <custID>2</custID>
      </customer>
      <customer>
        <name>王二</name>
        <custID>3</custID>
      </customer>
    </customers>
    </XML>绑定到表格:
    <br>
    <table datasrc="#XMLID" border="1">
      <tr>
        <td>
          <input datafld="custID">
          <input datafld="name">
        </td>
      </tr>
    </table><br>
    绑定到下拉列表:
    <br>
    <select id="sel" style="width:100;" onchange="alert(this.value);">
    </select><script language="JavaScript">
    var xmlroot = document.all.XMLID.XMLDocument.documentElement;
    for (var i = 0; i < xmlroot.childNodes.length; i++)
    {
      sel.options[sel.options.length] = new Option (
         xmlroot.childNodes[i].selectSingleNode('name').text,
         xmlroot.childNodes[i].selectSingleNode('custID').text);  
    }
    </script>
      

  17.   

    to wanghr100(灰豆宝宝.net(多爱我一天)): 
    oBao.open("POST","Server.asp?sel="+str,false);
    如果这样的话,那我岂不是还要刷新jsp页面?-------------------------这种方法是利用XMLHTTP来取得返回值,不会刷新页面的.
      

  18.   

    to wanghr100(灰豆宝宝.net(多爱我一天)) :那我什么时候更新xml中的值呢?