动态下拉框

双击左边的选项,会将该选项移动到右边的下拉列表框中,双击右边的下拉列表框会将该选项移动到左边的下拉列表框中。

1. test.html

<form id="myForm" name="myForm" method="post">
    <table border="0">
        <tr>
            <td>可选课程:<br>
                <select name="selectForm" size="5" ondblclick="addOption()">
                    <option value="yuwen">语文</option>
                    <option value="shuxue">数学</option>
                    <option value="lishi">历史</option>
                    <option value="shengwu">生物</option>
                    <option value="zhengzhi">政治</option>
                    <option value="dili">地理</option>
                </select>
            </td>
            <td>
                --> <br>
                <--
            </td>
            <td>
                已选课程(最多可选三门):<br>
                <select name="selectTo" size="5" ondblclick="delOption()">
                </select>
            </td>
        </tr>
    </table>
</form>

2. test.js

function addOption() {
    var myForm = document.getElementById("myForm");
    //获得当前被选择的选项的索引
    var index = myForm.selectForm.selectedIndex;
    //在下拉列表框中没有选项时,index为-1
    if(index>-1) {
        //判断已选课程中是否小于3门
        if(myForm.selectTo.length<3) {
            //获取当前选项的文字
            var optionText = myForm.selectForm.options[index].text;
            //获取当前选项的值
            var optionValue = myForm.selectForm.options[index].value;
            //在下拉列表框中添加选项
            console.log(myForm.selectTo.length);
            myForm.selectTo.options[myForm.selectTo.length] = new Option(optionText,optionValue);
            //删除原下拉列表框中的选项
            myForm.selectForm.remove(index);
        } else {
            alert("最多只能选择三门课");
        }
    }
}

function delOption() {
    var myForm = document.getElementById("myForm");
    var index = myForm.selectTo.selectedIndex;
    if(index>-1) {
        //获取当前选项的文字
        var optionText = myForm.selectTo.options[index].text;
        //获取当前选项的值
        var optionValue = myForm.selectTo.options[index].value;
        //在下拉列表框中添加选项
        myForm.selectForm.options[myForm.selectForm.length] = new Option(optionText,optionValue);
        //删除原下拉列表框中的选项
        myForm.selectTo.remove(index);

    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值