就是说有一个数据集rs,里面有三个字段Nsort_name、sort_id、Nsort_id
subcat是一个数组,数组里每一个元素又是一个由三个元素组成的数组。这三个元素分别保存数据集中的三个字段的值(当然是同一条记录的)。
这是function changeloactaion()函数上面的代码做的事函数 function changelocation(locationid) 的目的是想根据传进来的locationid来取得字段sort_id值为locationid的那条记录(是从数据组里取出的)。然后把这条记录的Nsort_name、Nsort_id的字段值赋给网页上from(myform)中的Nsort_id。我想这个Nsort_id是一个下拉框。
document.myform.Nsort_id.options[document.myform.Nsort_id.length] = new Option(subcat[i][0], subcat[i][2]);
这句话就是说给Nsort_id这个下拉框加上一个选项,其中显示值为Nsort_name字段内容,值为
Nsort_id字段内容下面是我写的注释<script language = "JavaScript">
var onecount;
onecount=0;
subcat = new Array();创建一个数组,用来保存rs里的记录
        <%
        count = 0            //共有多少记录
        
        do while not rs.eof //循环开始,把rs里的记录保存到subcat数据里
        %>
//为subcat数组中的每一个元素创建一个有三个元素的数组,并把它当成subcat的一个元素
subcat[<%=count%>] = new Array("<%= trim(rs("Nsort_name"))%>","<%= trim(rs("sort_id"))%>","<%= trim(rs("Nsort_id"))%>");
        <%
        count = count + 1  //记录数加一
        rs.movenext        //数据集指针下移
        loop
        rs.close
        %>
onecount=<%=count%>;  //这里保存总记录数function changelocation(locationid)
    {
    document.myform.Nsort_id.length = 0;     var locationid=locationid;
    var i;
    for (i=0;i < onecount; i++)
        {
            if (subcat[i][1] == locationid)  //取出subcat[i]中的sort_id字段值比较
            { 
              //如果等于传进来的值,就加下拉框加一个选择项
                document.myform.Nsort_id.options[document.myform.Nsort_id.length] = new Option(subcat[i][0], subcat[i][2]);
            }        
        }
        
    }    
</script>