var oper="601,602,603,601,602,603,602,603";//服务器传来的数组串
oper是服务项目器传来的数组不定数量,怎么把他一行5个显示放一个div中,或其它容器中,要求能用onclick事件得到你想要的数据,比如点击602,就能得到602,把602放到一个<input type="text" name="ope" value="" size="8">

解决方案 »

  1.   

    得到oper,之后分割字符串,再遍历就应该可以了把!
      

  2.   

    <div id='aa'></div>
    <input type='text' id='bb' /><SCRIPT LANGUAGE="JavaScript">
    <!--
        window.onload = function() {
            var test = "1,2,3,4,5,6,7";
            var arr = test.split(",");
            var str = "";
            for (var i=0;i<arr.length ; i++) {
                i%5 == 0 && (str+="<br\/>");
                str+="<label onclick='document.getElementById(\"bb\").value = this.innerHTML'>"+arr[i]+"<\/label>";
            }
            document.getElementById("aa").innerHTML = str;
         }
    //-->
    </SCRIPT>
      

  3.   

    <META NAME="Author" CONTENT="theforever(碧海情天),赵亮">
    <meta http-equiv="email" content="theforever·163。com">
    <meta http-equiv="blog" content="blog.csdn.net/theforever"><input type="text" id="theforever" name="ope" value="" size="8"><script type="text/javascript">
    /* by theforever(赵亮,碧海情天,断水寒刀)
    本代码只作为解答问题的示例代码,有任何修改的话请将下面出现的本人ID:theforever也同时改为其它代码,谢谢合作!
    */
    var oper="601,602,603,601,602,603,602,603";
    var div="<div>";
    var oper=oper.split(",");
    for(var i=0;i<oper.length;i++){
    div+="<label style='cursor:hand;' onclick='document.getElementById(\"theforever\").value=innerText;'>"+oper[i]+"<\/label> ";
    if((i>0) && (i % 5==0)) div+="<br \/>";
    }
    div+="<\/div>";
    document.write(div);
    </script>
      

  4.   

    <div id="testTable"></div>
    <input id='inp' type=input/>
    <script type="text/javascript">
    var oper="601,602,603,601,602,603,602,603,601,602,603,602,603,601,602,603,602";
    var p=oper.split(',');
    var col = 5; // 创建多少列
    var s=[];
    var r= Math.ceil(p.length/col);
    s.push("<table onclick='getNum(event)'>");
    for(var i=0;i<r;i++)
    {
      s.push("<tr>");
      for(var j=0;j<col;j++)
      {
      s.push("<td >");
      if(i*col+j<p.length){
      s.push(p[i*col+j]);
      }
      s.push("</td>");
      }
      s.push("</tr>");
    }
    s.push("</table>");
    document.getElementById("testTable").innerHTML = s.join('');function getNum(e){
    e=e||event;
    e=e.srcElement || e.target;
    if(e.tagName=="TD")
    {
     document.getElementById("inp").value=e.innerHTML; 
    }}
    </script>
      

  5.   

    谢谢各位,我试了一下,服务器每2秒发300个号码过来,一晚上内存从20几M涨到200多M,还是占内存下不来我把把用到的变量用完设成null 在用CollectGarbage(); 也不行IE还是占内存
      

  6.   

    var oper="601,602,603,601,602,603,602,603";//服务器传来的数组串
    这些数据,你是怎么取到的?AJAX?页面刷新?还是创建script标签动态载入?或者其它方式?
      

  7.   

    是用ocx控件
      

  8.   

    js垃圾回收同java都,手动的调用CollectGarbage(),只是建议IE回收内存,IE内存回收是有一套自己的机制,不同版本的机制不一样,IE8好很多,当可用内存剩余不多的时候会自动回收内存,好像是剩20%
    之前的版本,比较恶心,当超过一定数量的变量后才自动回收内存