国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

jQuery實現下拉框左右選擇的簡單實例

2024-05-06 16:01:26
字體:
來源:轉載
供稿:網友
本篇文章主要是對jQuery實現下拉框左右選擇的簡單實例進行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助

jQuery實現下拉框左右選擇的簡單實例


就是實現這個效果的,選中添加到右邊,全部添加到右邊,選中刪除到左邊,全部刪除到左邊。

html部分:

復制代碼 代碼如下:


<body>
    <div>
        <select multiple="multiple">
            <option value="1">選項1</option>
            <option value="2">選項2</option>
            <option value="3">選項3</option>
            <option value="4">選項4</option>
            <option value="5">選項5</option>
            <option value="6">選項6</option>
            <option value="7">選項7</option>
        </select>
        <div>
            <span >選中添加到右邊>></span>
            <span >全部添加到右邊>></span>
        </div>
    </div>

    <div>
        <select multiple="multiple">
            <option value="8">選項8</option>
        </select>
        <div>
            <span><<選中刪除到左邊</span>
            <span><<全部刪除到左邊</span>
        </div>
    </div>
</body>


這里要注意的是select的multiple屬性,只有添加了之后,才會在select框中出現多個select選項。
否則只會顯示出一條。

jQuery代碼解析:

復制代碼 代碼如下:


<script type="text/javascript">
$(function(){
    //移到右邊
    $('#add').click(function() {
    //獲取選中的選項,刪除并追加給對方
        $('#select1 option:selected').appendTo('#select2');
    });
    //移到左邊
    $('#remove').click(function() {
        $('#select2 option:selected').appendTo('#select1');
    });
    //全部移到右邊
    $('#add_all').click(function() {
        //獲取全部的選項,刪除并追加給對方
        $('#select1 option').appendTo('#select2');
    });
    //全部移到左邊
    $('#remove_all').click(function() {
        $('#select2 option').appendTo('#select1');
    });
    //雙擊選項
    $('#select1').dblclick(function(){ //綁定雙擊事件
        //獲取全部的選項,刪除并追加給對方
        $("option:selected",this).appendTo('#select2'); //追加給對方
    });
    //雙擊選項
    $('#select2').dblclick(function(){
       $("option:selected",this).appendTo('#select1');
    });
});
</script>


這里要注意的是$("option:selected",this)。這個看起來有點奇怪。其實$()有2個參數,一個是選擇器,一個是作用域。 要和$("xxxx,xxx")區分。通常意義下的$('xxxx')其實是默認了第二個作用域。完整說應該是$('xxxx',document)。這里加上this之后,作用域就限制在#select1中或#select2中了。也就是select1中的選中項被添加到#select2的后面。

效果類似于$("#select1 option:selected")。

如果不加上,this這個參數的話,就會牽扯到全局中的選中項。就會出錯。

注意點2:

append()與appendTo()方法的區別。

append(content|fn)向每個匹配的元素內部追加內容。

appendTo(content)把所有匹配的元素追加到另一個指定的元素元素集合中。

前者是向匹配的元素中添加內容的,后者是把匹配的素有元素追加到另一個指定的元素集合中的。

比如$("p").append("<b>Hello</b>");是向p元素中追加內容<b>Hello</b>。

原來的p元素內容:<p>I would like to say: </p>現在的p元素內容:[ <p>I would like to say: <b>Hello</b></p> ]$("p").appendTo("div");將p元素追加到div元素中。原來的內容:<p>I would like to say: </p>
<div></div><div></div>結果:<div><p>I would like to say: </p></div> <div><p>I would like to say: </p></div>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 阿城市| 甘孜| 竹北市| 桐庐县| 红原县| 沾益县| 光山县| 象州县| 赣州市| 庄浪县| 嘉义县| 新绛县| 农安县| 海门市| 昔阳县| 永泰县| 武功县| 麻栗坡县| 阿瓦提县| 惠安县| 隆回县| 义乌市| 留坝县| 交口县| 公安县| 策勒县| 万荣县| 阿合奇县| 河东区| 岳西县| 天峻县| 时尚| 巴马| 苍溪县| 那坡县| 平阴县| 景洪市| 五原县| 盐城市| 社旗县| 永宁县|