建议将数据在客户端执行,如下
<form>
<select name=abc onchange="show(this.value)">
<option value="a">蔬菜类</option>
<option value="b">游戏类</option>
<option value="c">家电类</option>
<option value="d">日用品类</option>
</select>
<div id=demo>
</div>
<input type=submit value=submit>
</form>
<script>
var arr=[],i=0;
arr[i++]="102 苹果 1 a".split(" ")
arr[i++]="103 梨子 1.4 a".split(" ")
arr[i++]="100 电视机 1000 c".split(" ")
arr[i++]="101 收音机 20 c".split(" ")
//数据库里其他数据
function show(v){
var ret="",i;
for(i=0;i<arr.length;i++){
if(arr[i][3]==v)
ret+="<input type=checkbox value="+arr[i][0]+" name=good>"+arr[i][1]+" "
else if(ret!="")break;
}
document.all.demo.innerHTML=ret
}
document.all.abc.selectedIndex=-1
</script>

解决方案 »

  1.   

    不错,就是用<秋水>的办法.在客户端分隔.
      

  2.   

    ret+="<input type=checkbox value="+arr[i][0]+" name=good>"+arr[i][1]+" "
    在这一句话中加入一个checkbox点击事件好象不行;
    ret+="<input type=checkbox value="+arr[i][0]+" name=good onclick=return checkvalue();>"+arr[i][1]+""
      

  3.   

    http://lucky.myrice.com/temp/combobox.htm
    http://lucky.myrice.com/temp/select.html
      

  4.   

    <form>
    <select name=abc onchange="show(this.value)">
    <option value="a">蔬菜类</option>
    <option value="b">游戏类</option>
    <option value="c">家电类</option>
    <option value="d">日用品类</option>
    </select>
    <div id=demo>
    </div>
    <input type=submit value=submit>
    </form>
    <script>
    var arr=[],i=0;
    arr[i++]="102 苹果 1 a".split(" ")
    arr[i++]="103 梨子 1.4 a".split(" ")
    arr[i++]="100 电视机 1000 c".split(" ")
    arr[i++]="101 收音机 20 c".split(" ")
    //数据库里其他数据
    function show(v){
    var ret="",i;
    for(i=0;i<arr.length;i++){
    if(arr[i][3]==v)
    ret+="<input type=checkbox value="+arr[i][0]+" name=good onclick='return checkvalue();'>"+arr[i][1]+" "
    else if(ret!="")break;
    }
    document.all.demo.innerHTML=ret
    }
    document.all.abc.selectedIndex=-1function checkvalue(){
    alert(window.event.srcElement.value)
    return true
    }
    </script>
      

  5.   

    http://lucky.myrice.com/temp/select.htmsorry
      

  6.   

    当我从数据库把记录提出来返回给一个数组:即arr;出现这样的问题;
    即arr[0][1]是arr[0][2]的值,而arr[0][2]="";
    arr[i][j]其中i>0的数又是正常的;现在真没得折了;
      

  7.   

    else if(ret!="")break;
    如果这一句不屏蔽,哪么,满足要求的记录根本就没有提完;
      

  8.   

    qiushuiwuhen(秋水无恨) 的程序在Netscape 7。0下无法运行
      

  9.   

    孟子兄:恐怕没有你想的哪么简单吧!你好好看看题目;数据库耶
    秋水姑娘;
    这个2维数组始终有问题呀;continue;
    呵呵;
      

  10.   

    sql中根据类别排序
    order by 类别else if(ret!="")break;
    为的是优化程序出错的原因,可能是有字段为空
    你先看生成的代码是否正确?
      

  11.   

    function initperson()
    {      i=0;
             <% ResultSet rr=mybeans.executeQuery("select * from user_info order by style");
             while(rr.next())
              { 
      String pid=rr.getString("userid");
      String pname=rr.getString("username");
          String pstyle=rr.getString("style");
          %>
          arr[i++]="<%=pid%> <%=pname%> <%=pstyle%>".split(" ")
          <%}%>
        
           
    }
    结果如下:function initperson()
    {      i=0;          
          arr[i++]="14 周六 ai".split(" ")       
          arr[i++]="11  张三 cims".split(" ")       
          arr[i++]="12 李四 cims".split(" ")       
          arr[i++]="112 111 cims".split(" ")       
          arr[i++]="13 王五 cims".split(" ")       
          arr[i++]="544 fdf cims".split(" ")       
          arr[i++]="18 王八 ee".split(" ")       
          arr[i++]="ik 张三峰 fm".split(" ")       
          arr[i++]="16 何七 ne".split(" ")       
          arr[i++]="17 张八 oa".split(" ")
                   
    }
    但是打印到张三这一条的就出现问题:
    arr[1][2]=张三;按理说应该是arr[1][1]=张三呀
    张三这一条记录是我数据库中的第一条记录;
      

  12.   

    秋水麻烦你试一下这一个:<form>
    <select name=abc onchange="show(this.value)">
    <option value="a">蔬菜类</option>
    <option value="b">游戏类</option>
    <option value="c">家电类</option>
    <option value="d">日用品类</option>
    </select>
    <div id=demo>
    </div>
    <input type=submit value=submit>
    </form>
    <script>
    var arr=[],i=0;      arr[i++]="14 周六 ai".split(" ")
          
          arr[i++]="11  张三 cims".split(" ")
          
          arr[i++]="12 李四 cims".split(" ")
          
          arr[i++]="112 111 cims".split(" ")
          
          arr[i++]="13 王五 cims".split(" ")
          
          arr[i++]="544 fdf cims".split(" ")
          
          arr[i++]="18 王八 ee".split(" ")
          
          arr[i++]="ik 张三峰 fm".split(" ")
          
          arr[i++]="16 何七 ne".split(" ")
          
          arr[i++]="17 张八 oa".split(" ")
          
        
           //数据库里其他数据
    function show(v){
    var ret="",i;
    /*for(i=0;i<arr.length;i++){
    if(arr[i][3]==v)
    ret+="<input type=checkbox value="+arr[i][0]+" name=good>"+arr[i][1]+" "
    else if(ret!="")break;
    }*/
    for(var j=0;j<arr.length;j++)
       alert(arr[j][2]);
    document.all.demo.innerHTML=ret
    }
    document.all.abc.selectedIndex=-1
    </script>