listbox 左右添加效果

853次阅读
没有评论

这个是前端开发经常用到的东东

这段代码需要好好的读取并了解其中的原理

样式是这样的:

listbox 左右添加效果

代码:

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
    <title>list 测试 </title>
</head>
<body>
<div style="font-size: 10pt;">
    注 1:左右移动进行选取
    <br />
    <br />
    注:本页面仅在 IE6/FireFox1.5 下测试过。其它浏览器或其它版本未经测试。<br />
    <hr />
</div>
<form name="frm">
    <table>
        <tr>
            <td>
                <select name="SrcSelect" size="6" style="font-size: 11pt; width: 160px; height: 160px"
                        multiple="multiple" ondblclick="moveLeftOrRight(document.frm.SrcSelect,document.frm.ObjSelect)">
                    <option value="1"> 讲师 </option>
                </select>
            </td>
            <td width="30px">
                <input align="left" type="button" value=">" onclick="moveLeftOrRight(document.frm.SrcSelect,document.frm.ObjSelect)">
                <br>
                <br>
                <input align="left" type="button" value="<" onclick="moveLeftOrRight(document.frm.ObjSelect,document.frm.SrcSelect)">
            </td>
            <td>
                <select name="ObjSelect" size="6" style="font-size: 11pt; width: 160px; height: 160px"
                        multiple="multiple" ondblclick="moveLeftOrRight(document.frm.ObjSelect,document.frm.SrcSelect)">
                    <option value="2"> 教学管理员 </option>
                    <option value="3"> 超级管理员 </option>
                </select>
            </td>
        </tr>
    </table>
</form>
</body>
<script type="text/javascript" language="javascript">
    // 上移
    function moveUp() {
        var theObjOptions = document.frm.ObjSelect.options;
        for (var i = 1; i < theObjOptions.length; i++) {if (theObjOptions[i].selected && !theObjOptions[i - 1].selected) {swapOptionProperties(theObjOptions[i], theObjOptions[i - 1]);
            }
        }
    }

    // 下移
    function moveDown() {
        var theObjOptions = document.frm.ObjSelect.options;
        for (var i = theObjOptions.length - 2; i > -1; i--) {if (theObjOptions[i].selected && !theObjOptions[i + 1].selected) {swapOptionProperties(theObjOptions[i], theObjOptions[i + 1]);
            }
        }
    }


    function swapOptionProperties(option1, option2) {
        var tempStr = option1.value;
        option1.value = option2.value;
        option1.value = tempStr;
        tempStr = option1.text;
        option1.text = option2.text;
        option2.text = tempStr;
        tempStr = option1.selected;
        option1.selected = option2.selected;
        option2.selected = tempStr;
    }


    // 列表框的位置移动
    function moveLeftOrRight(fromObj, toObj) {for (var i = 0; i < fromObj.length; i++) {var srcOption = fromObj.options[i];
            if (srcOption.selected) {toObj.appendChild(srcOption);
                i--;
            }
        }
    }
</script>

正文完
 0
飞翔的mouse
版权声明:本站原创文章,由 飞翔的mouse 于2020-02-23发表,共计2010字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。