问一个把数组添加到select的option的问题··有两个<select>标签,第一个<select>的option绑定的是从数据库里面查询的大类的名称
在点击了第一个<select>里面的选项后,在第二个<select>中添加 属于这个大类的小类的名称····求一段完整的代码···从第一个<select>标签获得数组的值开始····跪谢···新手,分不多···真的谢谢大家···

解决方案 »

  1.   


    <select onchange = "op(this)">
    <option value="" selected="selected"></option>
    <option value="1">第一组</option>
    </select>
    <select id="sel">
    </select><script type="text/javascript">
    var a = ["aa","bb","cc"];
    var op = function(h){
    var sub = document.getElementById("sel");
    var set = function(){
    var frage = document.createDocumentFragment();
    for(var i=0,len=a.length;i<len;i++){
    var o = document.createElement("option");
    o.value = a[i];
    o.text = a[i];
    frage.appendChild(o);
    }
    sub.appendChild(frage);
    };
    sub.innerHTML = "";
    if(h.value == "1") set()
    };
    </script>
      

  2.   

    这个··有点抽象···能不能再具体一点?···比如说···在里面加入sql语句那段···
      

  3.   

    这个select的内容是根据后台动态改变的,js需要跟后台java进行交互,单纯的js写是非常复杂的,建议使用js的一个框架---DWR.
      

  4.   

    我已经有一个获得数组的函数··function GetTableResult(sql,args)
    {
        var xml = new XMLHttpRequest();
        xml.open("post","Common__Data.aspx",false);
        xml.seRequestHeader('Content-Type','applicetion/x-www-form-urlencoded');
        if (args != null)
            args = "&" + args;
        else
            args="";
        xml.send("____sql=" +escape(sql.replace(".","##").replace("%","¥")) + args);
        try{
            window.eval(String(xml.responseText));
            return datatable;
        }
        catch(err){
            alert(err.description);
            return new Array
        }