你的意思是如果被某一个已经选中的其它的就不能选了吗?
可以把数据都放在一个数组里面,当dropdownlist改变的时候去修改数组的内容,然后在添加到dropdownlist里面。

解决方案 »

  1.   

    恩。。就是这个意思。。能提供给代码啥的吗?我javascript很弱的说
      

  2.   


    <body>
    <div id="div1"></div>
    <script>
    var arr=[2]
    arr[0]=['a','b','c','d'];
    arr[1]=[0,0,0,0];
    function addoption(parentobj,selobj)
    {
          for(var j=0;j<arr[0].length;j++)
          {
            if(arr[1][j]=="0")
            {
            selobj.add(new Option(arr[0][j],arr[0][j]));
             parentobj.appendChild(selobj);
            }
          }}
      

  3.   

    多谢clare2003(忘情火) 再问一下,parentobj,selobj 分别传进来的应该是什么值?
      

  4.   

    selobj.add(new Option(arr[0][j],arr[0][j]));Option里为何要传2个参数?如果放便的话,能帖下完整的代码吗?
      

  5.   

    function Init2()
    {
      var obj=document.all.div1;
      for(var i=0;i<10;i++)
        {
          var sel=document.createElement("<SELECT NAME='mySel' id='selid0'><SELECT>");
          sel.add(new Option("--selected--","--selected--"));
          
        //  sel.name="mySel";
         addoption(obj,sel);
      

  6.   

    sel.onchange=function()
          {       
            if (this.selectedIndex>0)
            {        
            arr[1][this.selectedIndex-1]=1
            this.id="selid1";
      

  7.   


              for(var k=0;k<chgobj.length;k++)
              {            if(chgobj[k].id=="selid0")
                   {
                    for(var j=0;j<=chgobj[k].options.length;j++)
     {
      if(arr[1][j]==1)
      {
      chgobj[k].options[j+1].removeNode(true);

      }
     }
    }
              
                
               }
             }
          
          
          }
          obj.appendChild(sel);
        }}
    Init()
    </script>
    </body>
      

  8.   

    this.id 后有一句粘贴不上说我的是非法言论之类
    var chgobj=..
      

  9.   

    document.g e t e l e m e n t s B y N a m e("mySel")
      

  10.   

    chgobj 这个数组是啥?好像没有定义
      

  11.   


    <body>
    <div id="div1"></div>
    <script>
    var arr=[2]
    arr[0]=['a','b','c','d'];
    arr[1]=[0,0,0,0];
    function addoption(parentobj,selobj)
    {
          for(var j=0;j<arr[0].length;j++)
          {
            if(arr[1][j]=="0")
            {
            selobj.add(new Option(arr[0][j],arr[0][j]));
             parentobj.appendChild(selobj);
            }
          }}
    function Init2()
    {
      var obj=document.all.div1;
      for(var i=0;i<10;i++)
        {
          var sel=document.createElement("<SELECT NAME='mySel' id='selid0'><SELECT>");
          sel.add(new Option("--selected--","--selected--"));
          
        //  sel.name="mySel";
         addoption(obj,sel);
          
          sel.onchange=function()
          {       
            if (this.selectedIndex>0)
            {        
            arr[1][this.selectedIndex-1]=1
            this.id="selid1";
    var chgobj=document.g e t e l e m e n t s B y N a m e("mySel")
              for(var k=0;k<chgobj.length;k++)
              {            if(chgobj[k].id=="selid0")
                   {
                    for(var j=0;j<=chgobj[k].options.length;j++)
     {
      if(arr[1][j]==1)
      {
      chgobj[k].options[j+1].removeNode(true);

      }
     }
    }
              
                
               }
             }
          
          
          }
          obj.appendChild(sel);
        }}
    Init()
    </script>
    </body>
      

  12.   

    document.g e t e l e m e n t s B y N a m e("mySel")//去掉空格就行
      

  13.   

    兄弟,好像还是不能转~!
    IE也没报错你方便的话能加我MSN吗?我把整理好的那段代码给你发过去,你看看是哪的问题
    [email protected]
      

  14.   

    可以转了
    但数组里面的值没有被remove掉俄
      

  15.   

    document.g e t e l e m e n t s B y N a m e("mySel")//去掉空格就行
    ==>
    document.get Elements ByName("mySel")//去掉空格就行
      

  16.   

    function Init2()==>function Init()
      

  17.   

    OK 
    可以了~!~!
    多谢clare2003(忘情火) 结帖,给分~~!
    10少了点,不过我就这么多分了,多谢~!!!!!!!!!!!!!!
      

  18.   

    熟悉web2.0,blog,ajax,rss,.net2005等请进入
    http://blog.csdn.net/datehr/category/198305.aspx