posts - 495,  comments - 11,  trackbacks - 0

          做項目時,經常遇到要把數據庫的內容放到javascript里。不管是單個字符串(String),還是集合(array)。javascript不能直接從數據庫拿東西。所以只得借助一些其他條件。比如在頁面上的標簽里放id,name 之類的標志。

          假如:

          1,獲取字符串:

          user.getName() 是一條單個的記錄。

          <div id=a><%=user.getName() %></div>

          那么javascript很容易獲取 : var jsa=???? document.getElementById("a").innerText; (注:innerHTML也可以獲取。)

          2,獲取集合,數組:

          <form name="form1">
          ?????? <table>
          ????????????????? <%
          ???? Mgr mgr=new Mgr();
          ???? ArrayList list=mgr.getonebbs();
          ???? for(int i=0;i<list.size();i++)
          ???? {
          ?????? Ext role=(Ext)list.get(i);
          ????? %>
          ?????????????? <tr>
          ?????????????? <td id="cid<%=i %>"><%=role.getId()%></td>
          ?????????????? <td id="cname<%=i %>"><%=role.getName()%></td>
          ?????????????? <td id="cpass<%=i %>"><%=role.getPass()%></td>
          ?????????????? <td id="ctel<%=i %>"><%=role.getTel()%></td>
          ?????????????? </tr>
          ??????????? <%
          ????? }%>
          ???? <input type="hidden" value="<%=list.size() %>" name="hid" >
          ????? </table>
          </form>

          javascript獲?。?br/> ???????? var cc = document.getElementById("hid").value; //首先獲取長度,下面循環輸出
          ????????? var a=new Array();
          ??????????? var b=new Array();
          ????????????? var c=new Array();
          ??????????????? var d=new Array();
          ????????? var myData=new Array();
          ??????? for(var j=0;j<cc;j++)
          ??????? {
          ????????? a[j]= document.getElementById("cid"+j).innerText;
          ????????? b[j]= document.getElementById("cname"+j).innerText;
          ????????? c[j]= document.getElementById("cpass"+j).innerText;
          ????????? d[j]= document.getElementById("ctel"+j).innerText;
          ?????????????????? //????? alert(a+" "+b+" "+c+" "+d+" ");???? //測試
          ?????????????????? myData[j] =???? [a[j],b[j],c[j],d[j]] ;???
          ??????? }

          這樣就把數組放到myData中去了。

          3,總結:
          先把輸出放到jsp頁面上,?????????????? //也就是把數據查詢出來
          然后在js里面獲取jsp上的數據,???? //通過document.獲取。 單個,循環。
          然后放到string 或者 array里面。//OK

          反正感覺多做了2步似的,繞了個圈,不過沒辦法,人家都是這樣做的。。。

          js數組的寫法:
          ArrI=new Array();
          ArrI[0] = new Array("username1","0","609");
          ArrI[1] = new Array("username2","609","610");
          ArrI[2] = new Array("username3","609","611");

          ArrII=new Array(
          new Array("username1","0","609"),
          new Array("username2","609","610"),
          new Array("username3","609","611")
          );

          ArrIII=[];
          ArrIII[0] = new Array("username1","0","609");
          ArrIII[1] = new Array("username2","609","610");
          ArrIII[2] = new Array("username3","609","611");

          ArrIIII=[
          ["username1","0","609"],
          ["username2","609","610"],
          ["username3","609","611"]
          ];
          一般最后一種..
          posted on 2007-11-10 20:02 jadmin 閱讀(99) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 闽侯县| 奉贤区| 西乌珠穆沁旗| 麟游县| 永胜县| 平定县| 仁化县| 高雄市| 武汉市| 陕西省| 偏关县| 沈丘县| 夹江县| 肇庆市| 子长县| 景东| 中西区| 平塘县| 封丘县| 英山县| 百色市| 松江区| 唐山市| 九寨沟县| 仁寿县| 石楼县| 洛浦县| 福泉市| 修武县| 西青区| 桂平市| 怀来县| 隆昌县| 葵青区| 霍林郭勒市| 纳雍县| 台南县| 清原| 成安县| 滦南县| 肃宁县|