声明:反对发展私家车,路上太堵了!饭前一贴,下午该开工了,哈<body>
<SELECT ID="oSelect" NAME="Cars">
<OPTION VALUE="0" SELECTED><-- 请选择 -->
<OPTION VALUE="1">宝马
<OPTION VALUE="2">保时捷
<OPTION VALUE="3">奔驰
</SELECT>
<INPUT TYPE=checkbox ID="chkCheap">看看便宜的!
<script language="JavaScript">
<!--
document.all.chkCheap.onclick = function ()
{
    if (this.checked)
    {
        var optionsCollection = document.all.oSelect.options
        optionsCollection[optionsCollection.length] = new Option("夏利",4);
        optionsCollection[optionsCollection.length] = new Option("富康",5);
    }
    else
    {
        if (document.all.oSelect.selectedIndex > document.all.oSelect.options.length - 3)
        {
            document.all.oSelect.selectedIndex = 0;
        }
        document.all.oSelect.options.length = 4;
    }
};
//-->
</script>
</body>

解决方案 »

  1.   

    坐沙发的同志把if和else搞反了
      

  2.   

    饭后补一贴!满意了吧!有时间自己多动手 Coding 吧!<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
    <title> New Document </title>
    <meta name="Generator" content="EditPlus">
    <meta name="Author" content="">
    <meta name="Keywords" content="">
    <meta name="Description" content="">
    </head><body>
    <SELECT ID="oSelect" NAME="Cars">
    <OPTION VALUE="0" SELECTED><-- 请选择 -->
    <OPTION VALUE="1">宝马
    <OPTION VALUE="2">保时捷
    <OPTION VALUE="3">奔驰
    <OPTION VALUE="4">夏利
    <OPTION VALUE="5">富康
    </SELECT>
    <INPUT TYPE=checkbox ID="chkExpensive">不买最好的,就买最贵的!
    <script language="JavaScript">
    <!--
    var chkFlag = document.getElementById("chkExpensive");
    chkFlag.onclick = function ()
    {
        var oSelect = document.getElementById("oSelect");
        if (this.checked)
        {
            if (document.all.oSelect.selectedIndex > document.all.oSelect.options.length - 3)
            {
                document.all.oSelect.selectedIndex = 0;
            }        document.all.oSelect.options.length = 4;
        }
        else
        {
            var optionsCollection = document.getElementById("oSelect").options
            optionsCollection[optionsCollection.length] = new Option("夏利",4);
            optionsCollection[optionsCollection.length] = new Option("富康",5);
        }
    };
    //-->
    </script>
    </body>
    </html>
      

  3.   

    复选以后不想要的项全放到最后面就行了!你要两个,给你三,哈看到了吧,和一个时的代码差别极大!继续努力吧!
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
    <title> New Document </title>
    <meta name="Generator" content="EditPlus">
    <meta name="Author" content="">
    <meta name="Keywords" content="">
    <meta name="Description" content="">
    </head><body>
    <SELECT ID="oCar">
    <OPTION VALUE="0" SELECTED><-- 请选择 -->
    <OPTION VALUE="1">宝马
    <OPTION VALUE="2">保时捷
    <OPTION VALUE="3">奔驰
    <OPTION VALUE="4">夏利
    <OPTION VALUE="5">富康
    </SELECT>
    <INPUT TYPE=checkbox ID="chkExpensive">不买最好的,就买最贵的!<br><SELECT ID="oFood">
    <OPTION VALUE="0" SELECTED><-- 请选择 -->
    <OPTION VALUE="1">苹果
    <OPTION VALUE="2">鸭梨
    <OPTION VALUE="3">红烧肉
    <OPTION VALUE="4">肘子
    <OPTION VALUE="5">排骨
    </SELECT>
    <INPUT TYPE=checkbox ID="chkNoMeat">素食主义者!<br><SELECT ID="oText">
    <OPTION VALUE="0" SELECTED><-- 请选择 -->
    <OPTION VALUE="1">春
    <OPTION VALUE="2">夏
    <OPTION VALUE="3">秋
    <OPTION VALUE="4">冬
    <OPTION VALUE="5">梅
    <OPTION VALUE="5">兰
    <OPTION VALUE="5">竹
    <OPTION VALUE="5">菊
    </SELECT>
    <INPUT TYPE=checkbox ID="chkSeason">四季!<br><script language="JavaScript">
    <!--
    // 一个对象加工方法,为给定的 checkBoxId 动态添加属性和方法。
    function RebuildCheckBoxControlor(checkBoxId, selectId, removeAmountInTheEnd)
    {
        var controlor = document.getElementById(checkBoxId);
        controlor.selectList = document.getElementById(selectId)
        // 先保存好,后面备用。
        controlor.selectListBackup = controlor.selectList.cloneNode(true);
        controlor.onclick = function()
            {
                ChangeList(this,removeAmountInTheEnd);
            }
    }function ChangeList(givenCtrl,removeAmountInTheEnd)
    {
        var oSelect = givenCtrl.selectList;
        if (givenCtrl.checked)
        {
            if (oSelect.selectedIndex > (oSelect.options.length - 1 - removeAmountInTheEnd))
            {
                oSelect.selectedIndex = 0;
            }        oSelect.options.length -= removeAmountInTheEnd;
        }
        else
        {
            oSelect.options.length = 0;        for (var i=0; i<givenCtrl.selectListBackup.options.length; i++)
            {
                oSelect.options[oSelect.options.length] = new Option(givenCtrl.selectListBackup.options(i).innerText,i);
            }
        }
    }RebuildCheckBoxControlor("chkExpensive","oCar",2);
    RebuildCheckBoxControlor("chkNoMeat","oFood",3);
    RebuildCheckBoxControlor("chkSeason","oText",4);//-->
    </script>
    </body>
    </html>