就是html里的那种下拉框,系统给的。frontpage里的现成的。

解决方案 »

  1.   

    On下拉框1SelChange()
    {
    if(下拉框1.GetCurSel() == a)
    {
    下拉框2.ResetContext();
    下拉框2.Add(1);
    下拉框2.Add(2);
    }
    else if(下拉框1.GetCurSel() == b)
    {
    下拉框2.ResetContext();
    下拉框2.Add(3);
    }
    }On下拉框1SelChange()
    {
    ...
    }
      

  2.   

    play with my xml-based solution:<script language="javascript">
    var xmlID = "xmlcmbtree";
    var cmbPrefix = "xmlcmb";
    var nMaxLevel = 3;
    var tblName = "tbl";
    function CreateList(nLevel)
    {
      var doc = document.all(xmlID).documentElement;  var nodes, nIndex, node;
      nodes = doc.childNodes;
      for (var i=1; i < nLevel;i++)
      {
    nIndex = document.all(cmbPrefix + i).selectedIndex;
    node = nodes[nIndex];
    nodes = node.childNodes;
      }    var cmb = document.all(cmbPrefix + nLevel);
      if (!cmb)
      {
        cmb = document.createElement("SELECT");
        cmb.id = cmbPrefix + nLevel;
        cmb.onchange = new Function("ChangeSelection(" + nLevel + ")");   //document.body.appendChild(cmb);
        var cell = document.all(tblName).rows[1].insertCell();
        cell.appendChild(cmb);    
        cell = document.all(tblName).rows[0].insertCell();    var label = document.createElement("SPAN");
        label.style.fontWeight = "bold";
        label.style.color = "red";
        label.innerHTML = nodes[0].nodeName + ":";    cell.appendChild(label);   // document.body.insertBefore(label,cmb)  }    cmb.options.length = 0;    for (i=0; i < nodes.length;i++)
      {
    var opt = new Option(nodes[i].getAttribute("text"),nodes[i].getAttribute("value"));
    cmb.options.add(opt);
      }   ChangeSelection(nLevel);
    }function ChangeSelection(nLevel)
    {
      if (nLevel < nMaxLevel)
       CreateList(nLevel+1);
    }</script>
    <body onload="CreateList(1);">
    <xml id="xmlcmbtree">
    <country>
    <province text="Jiang Su" value="Jiang Su">
      <city text="Nan Jing" value="Nan Jing">
    <street text="Xin Jie Kou" value="Xin Jie Kou" />
    <street text="Dong Jia Xiang" value="Dong Jia Xiang" />
      </city>
      <city text="Su Zhou" value="Su Zhou">
    <street text="Guan Qian Jie" value="Guan Qian Jie" />
    <street text="Re Min Lu" value="Re Min Lu" />
      </city>
    </province>
    <province text="Beijing" value="Beijing">
      <city text="Beijing" value="Beijing">
    <street text="Xin Jie Kou" value="Xin Jie Kou" />
    <street text="Si Huan Lu" value="Si Huan Lu" />
    <street text="Xue Yuan Lu" value="Xue Yuan Lu" />
      </city>
    </province>
    <province text="Hei Bei" value="Hei Bei">
      <city text="Shi Jia Zhuang" value="Shi Jia Zhuang">
    <street text="Ren Min Lu" value="Ren Min Lu" />
      </city>
    </province>
    </country>
    </xml>
    <table id="tbl" border="1" cellspacing="0" cellpadding="0"">
    <tr></tr>
    <tr></tr>
    </table>
    </body>
      

  3.   

    to:lanzhengpeng2(兰征鹏)
    你写的代码我怎么看不懂?麻烦你根据我下面的代码写一下好吗? <form method="POST" name="form" action="sample.asp">
      
      <p><select size="1" name="name1">
        <option value="a">a</option>
        <option value="b">b</option>
      </select><select size="1" name="name2" >
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        
      </select></p>
      <p><input type="submit" value="提交" name="B1"><input type="reset" value="全部重写" name="B2"></p>
    </form>to:karma(无为)能否就用javascript解决? 
      

  4.   

    you know, my xml-based solution can be used in any level correlation<script language="javascript">
    var aListValue = new Array(2); 
    aListValue["a"] = new Array("1","2");
    aListValue["b"] = new Array("3");var nCurIndex = null;function setupList()
    {
      if (nCurIndex != document.frmtest.name1.selectedIndex)
      {
    nCurIndex = document.frmtest.name1.selectedIndex;

    var sValue = document.frmtest.name1.options[nCurIndex].value; var i;
    //remove existing list
    for (i=document.frmtest.name2.options.length-1; i >=0 ; i--)
    document.frmtest.name2.options.remove(i); for (i=0; i < aListValue[sValue].length;i++)
    {
    var opt = new Option(aListValue[sValue][i],aListValue[sValue][i]);
    document.frmtest.name2.options.add(opt);
    }  }}
    </script><body onload="setupList()">
    <form name="frmtest" action="" method="post">
    List1: <select name="name1" onchange="setupList()">
    <option value="a">a</option>
    <option value="b">b</option>
    </select><br>
    List2:
    <select name="name2">
    </select><br>
    </form>
    </body>
      

  5.   

    有这个插件可以实现这种效果的
    http://joy.zhgnet.com/bihu/bbs/viewthread.php?tid=603