jQuery 下拉框应用 拓展

jquery 书本上的一个例子

书本上只写了从左边添加到右边,无非就是remove() 方法和 appendTo() 方法。

然而,我试过了,并不能像从左边添加到右边那样简单的把右边的删除到左边过来。

然后自己整了一份可以两边任意添加到对方的。

HTML代码如下:

<div class="equips">
    <div>
        <p class="tips">您正在对用户: XXX 分配设备!</p>
        <a href="#" class="btn" id="save_equip">保存</a>
    </div>

    <form class="equip_list" id="equip_list">
        <span class="show">可选设备列表:</span>
        <ul>
            <li>
                <input type="text" name="equips" value="设备1">
            </li>
            <li>
                <input type="text" name="equips" value="设备2设备2设备2">
            </li>
            <li>
                <input type="text" name="equips" value="设备3">
            </li>
            <li>
                <input type="text" name="equips" value="设备4">

            </li>
            <li>
                <input type="text" name="equips" value="设备5">
            </li>
            <li>
                <input type="text" name="equips" value="设备6">
            </li>
            <li>
                <input type="text" name="equips" value="设备7">
            </li>
            <li>
                <input type="text" name="equips" value="设备8">
            </li>
        </ul>
    </form>
    <form action="url" method="post" class="my_equip_list" id="my_equip_list">
        <span class="show">用户设备列表:</span>
        <ul>
            <li>
                <input type="text" name="equips" value="设备a">
            </li>
            <li>
                <input type="text" name="equips" value="设备s">
            </li>
            <li>
                <input type="text" name="equips" value="设备d">
            </li>
            <li>
                <input type="text" name="equips" value="设备f">
            </li>
            <li>
                <input type="text" name="equips" value="设备g">
            </li>
            <li>
                <input type="text" name="equips" value="设备h">
            </li>
        </ul>
    </form>
    <div class="btns">
        <a href="#" class="btn" id="btn_add">增加>></a>
        <a href="#" class="btn" id="btn_remove"><<删除</a>
    </div>
</div>

jQuery代码如下:

$(function(){
        init();  // 初始化

        $("#btn_add").on("click", function(){   // 添加按钮  左边列表里面的选项,添加到右边中
            var param = {
                form_ul : $("#my_equip_list ul"),
                li_selected : $("#equip_list ul li.selected")
            }
            selected(param);
        });

        $("#btn_remove").on("click", function(){ //删除按钮, 将右边框选中的添加到左边框中
            var param = {
                form_ul : $("#equip_list ul"),
                li_selected : $("#my_equip_list ul li.selected")
            }
            selected(param);
        });

        // 设置表单中的input框都是只读状态
        $(".equips form input").attr("readonly", "readonly");

        // 点击保存, 提交用户设备列表表单
        $("#save_equip").on("click", function(){
            $("#my_equip_list").form("submit");
        })
    });

    function init(){  // 绑定事件  选中的添加selected类
        var li_s = $(".equips form li");
        li_s.on("click", function(){
            var _this = $(this);
            _this.hasClass("selected") ? _this.removeClass("selected") : _this.addClass("selected");
        });
    }

    function selected(param){ // 对选中的选项做的一系列操作
        param.li_selected.remove().appendTo(param.form_ul).removeClass("selected")
                        .on("click", function(){
                            var _this = $(this);
                            _this.hasClass("selected") ? _this.removeClass("selected") : _this.addClass("selected");
                        });
    }

效果如下:

原图:

添加部分项到右边:

选中:

添加到左边:

感觉自己萌萌哒

时间: 2024-10-03 21:53:35

jQuery 下拉框应用 拓展的相关文章

JQuery 下拉框左右移动

JQuery下拉框左右移动 触发点击按钮时间 然后通过$("#one option:selected")获取目标的下拉框所选中的值  然后把选中的添加到你所要的下拉框中 同时要把原来下拉框的值删除  代码可以一句搞定 $("#one option:selected").appendTo("#two") 要注意的是: append()与appendTo()方法的区别. append(content|fn)向每个匹配的元素内部追加内容. append

jquery 下拉框 收藏

jquery 下拉框 Query获取Select选择的Text和Value: 语法解释: 1. $("#select_id").change(function(){//code...});   //为Select添加事件,当选择其中一项时触发 2. var checkText=$("#select_id").find("option:selected").text();  //获取Select选择的Text 3. var checkValue=$

jQuery下拉框操作系列$(&quot;option:selected&quot;,this) &amp;&amp;(锋利的jQuery)

jQuery下拉框操作系列$("option:selected",this)  &&(锋利的jQuery) <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"

jQuery下拉框扩展和美化插件Chosen

Chosen 是一个支持jquery的select下拉框美化插件,它能让丑陋的.很长的select选择框变的更好看.更方便.不仅如此,它更扩展了select,增加了自动筛选的功能.它可对列表进行分组,同时也可禁用某些选择项. 先来看下插件的效果: 下面和大家一起看下它的用法. 引入核心文件 1 <link rel="stylesheet" href="docsupport/style.css"> 2 <link rel="styleshe

自制Jquery下拉框插件

(function ($) { $.fn.select3 = function (option) { var _this = $(this); var isInit = _this.prev('div').hasClass('select3-parent'); if(isInit) return false; var _default = { className: 'select3-parent', //下拉框样式可自定义 width: '300px' }; //默认会根据元素设置的宽度给设置宽

jQuery 下拉框输入匹配提示选项

做页面输入时,为方便输入和提高用户体验,常用下拉框,当下拉选项数据很多时,也不易找到想要的选项,这时,提供一种下拉框输入匹配提示选项,如下: 图示 HTML代码 <div style="width: 540px;"> <label class="control-label sr-only" for="search_dchannel_repo"></label> <input class="for

jQuery下拉框

来源:https://www.cnblogs.com/songhaipeng/archive/2012/11/25/2787214.html 本文转载而来 jQuery对下拉框Select操作总结 转自网络,留做备用 jQuery获取Select元素,并选择的Text和Value: 1. $("#select_id").change(function(){//code...});   //为Select添加事件,当选择其中一项时触发 2. var checkText=$("#

jquery下拉框插件心得

想记录下自己在开发这个下拉框插件之后的心得,发现写一篇博客,真是"知之非艰,行之惟艰".所以再有看到好的文章,就不会再吝啬自己的"赞"了. 多次想该如何写比较好呢?最终决定,将以后我可能用得到的东西一条条记录下来,一条条来写,这样比较清晰. 1.写jquery插件需要的一个结构 // 定义jQuery私有作用域 (function ($) { // 插件默认属性 var defaults = { name1: "value1", name2: &

jquery 下拉框左右选择

html <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>下拉框左右选择</title> <link rel="stylesheet" href="css/test.css" /> <script type="text/javascript" src="