asp记录集如何传值到JS键值对

时间:2022-06-21 23:47:40
asp记录集rs 已经得到

如何传值到js键值对

由于rs记录集数量不确定,js如何定义键值对

asp代码
temp = rs.getrows


===========================================
js代码

var data2 = [
        {
            "id": '<%=tmp(0,0)%>',
            "text": '<%=tmp(1,0)%>'
        },
        {
            "id": '<%=tmp(0,1)%>',
            "text": '<%=tmp(1,1)%>'
        }]

大概就是这个意思,但由于rs记录集数量不确定,在js端如何动态定义和传值



3 个解决方案

#1


不需要定义,数组对象直接push就行了,循环push,getrows都不需要,之前不是给过你代码了

<script>
    var data2 = [];
     <%while not rs.eof%>
    data2.push({id:' <%=rs(0)%>',text:' <%=rs(1)%>'});
    <%
    rs.movenext
    wend%>

</script>

#2


你要定义可以用UBound获取第二纬度的长度,就是最大的行下标


<%temp = rs.getrows
rowcount=ubound(temp,2)
%>
<script>
     var data2 = [];
    // ===>var data2=new Array(<%=rowcount+1 %>);,你用这种方式就不能用push,会初始化好指定个数的undefined元素,要用下面绿色的
    <%for i=0 to rowcount%>
     data2.push({id:'<%=temp(0,i)%>',text:'<%=temp(1,i)%>'});
//data2[<%=i%>]={id:'<%=temp(0,i)%>',text:'<%=temp(1,i)%>'})
    <%
    next%>
</script>

#3


学到了!

版主我爱死你了!!!!!!

#1


不需要定义,数组对象直接push就行了,循环push,getrows都不需要,之前不是给过你代码了

<script>
    var data2 = [];
     <%while not rs.eof%>
    data2.push({id:' <%=rs(0)%>',text:' <%=rs(1)%>'});
    <%
    rs.movenext
    wend%>

</script>

#2


你要定义可以用UBound获取第二纬度的长度,就是最大的行下标


<%temp = rs.getrows
rowcount=ubound(temp,2)
%>
<script>
     var data2 = [];
    // ===>var data2=new Array(<%=rowcount+1 %>);,你用这种方式就不能用push,会初始化好指定个数的undefined元素,要用下面绿色的
    <%for i=0 to rowcount%>
     data2.push({id:'<%=temp(0,i)%>',text:'<%=temp(1,i)%>'});
//data2[<%=i%>]={id:'<%=temp(0,i)%>',text:'<%=temp(1,i)%>'})
    <%
    next%>
</script>

#3


学到了!

版主我爱死你了!!!!!!