你是说题型那一个下拉菜单的值从数据库里取吗?
用Ajax取比较合适.
如果题型的值是固定的,就可以在打开页面的时候一次性取出来,保存在JS的数组里就行了.

解决方案 »

  1.   

    是那个意思,但那个Ajax不会啊,有什么代码不?谢谢谢谢谢谢谢谢
      

  2.   

    因为不知道你的具体情况,完全的代码不可能给出,只能给思路.
    首先,要建立一个取数据库里的值的程序文件,取得结果后,以文本或xml格式返回 以ASP为例 文件名xml.asp:Dim id
    Set rs = conn.Execute("select ColName from TabName where id=" & id)
    Do while Not rs.Eof
        Response.Write(rs("ColName") & ",")'输出文本 注意要以一定格式分隔每个值,比如以,号
        '或者Response.ContentType = "text/XML";将结果输出为xml格式文件
    Loop
    Set rs = Nothing
    然后在你给页面上用JS取值:var xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
    xmlhttp.open("GET","xml.asp", false);
    xmlhttp.setRequestHeader("If-Modified-Since","0");
    xmlhttp.send();
    if(xmlhttp.readyState == 4 && xmlhttp.status == 200 && xmlhttp.responseXML )
    {
    //对记录集操作,构成下拉菜单
    }
     
      

  3.   


    您的那个对记录集操作,构成下拉菜单
    我不会啊,主要就是写objCell.innerHTML=" <select  name=PRO"+rowIndex+">"+" <%=option value=''%>"+" </select>"; 这句话
      

  4.   

    用AJAX之后,就不要用<%%>这类服务器脚本了来取值了.
    写了个根据结果集构建下拉菜单选项的函数:var s = "单选题,多选题,填空题" //已知取得的结果,文本形式的
    function createSelectOption(str)
    {
    var sArr = str.split(",")
    var re = ""
    for(var i = 0;i < sArr.length;i++)
    {
    re += "<option value=\"" + sArr[i] + "\">" + sArr[i] + "</option>"
    }
    return re;
    }
    document.write("<select>" + createSelectOption(s) + "</select>");
      

  5.   

    以下这句能和我那句相替换吗?
    document.write("<select>" + createSelectOption(s) + "</select>");是不是改下?
    objCell.innerHTML="<select name=PRO"+rowIndex+">"+createSelectOption(s)+"</select>";