在使用jQuery实现把一个select框中选中内容移到另一个select框中功能时遇到了一个问题,就是点击按钮时内容可以到另一个select框中,但是到了另一个select框中的内容却很快闪退回原来的select框中,代码如下:

                 <select class="select1" name="select1" multiple="multiple">
                    <option value="广东">广东</option>
                    <option value="广西">广西</option>
                    <option value="上海">上海</option>
                    <option value="桂林">桂林</option>
                    <option value="广州">广州</option>
                    <option value="肇庆">肇庆</option>
                    <option value="佛山">佛山</option>
                </select>
                <select class="select2" name="select2" multiple="multiple"></select>
                <div class="selectBtn">
                    <button class="add">选中添加到右边</button>
                    <button class="addAll">全选添加到右边</button>
                </div>
                <div class="selectBtn">
                    <button class="remove">选中删除到左边</button>
                    <button class="removeAll">全选删除到左边</button>
                </div>

jQuery代码:

$(".add").click(function() { //左→右
        var $option = $(".select1 option:selected");
        $add.appendTo(".select2");
    });
    $('.addAll').click(function() { //全选左→右
        var $option = $(".select1 option");
        $option.appendTo(".select2");
    });
    $(".remove").click(function() {//右→左
        var $option = $(".select2 option:selected");
        $option.appendTo(".select1");
    });
    $(".removeAll").click(function() { //全选右→左
        var $option = $(".select2 option");
        $option.appendTo(".select1");
    });

 

开始一直以为是select框和js的代码问题,所以思索了很久,也研究了很久select框和js的代码还是没发现问题所在。后来再看回html代码想想有没有可能是因为使用button的问题,后来把button改为了span才解决了问题。至此又重新去学习了解button标签。

原来是因为button除了在IE浏览器的默认类型type是“button”而在其他浏览器中(包括w3c规范)的默认类型type都是“submit”。所以我们应该始终为按钮button规定type属性。

修正后的html代码:

               <select class="select1" name="select1" multiple="multiple">
                    <option value="广东">广东</option>
                    <option value="广西">广西</option>
                    <option value="上海">上海</option>
                    <option value="桂林">桂林</option>
                    <option value="广州">广州</option>
                    <option value="肇庆">肇庆</option>
                    <option value="佛山">佛山</option>
                </select>
                <select class="select2" name="select2" multiple="multiple"></select>
                <div class="selectBtn">
                    <span class="add">选中添加到右边</span>
                    <span class="addAll">全选添加到右边</span>
                </div>
                <div class="selectBtn">
                    <button type="button" class="remove">选中删除到左边</button>
                    <button type="button" class="removeAll">全选删除到左边</button>
                </div>

这同时也让我再次深深地感受到编码规范和基础的重要性,路漫漫其修远兮,吾将上下而求索。

下拉框——把一个select框中选中内容移到另一个select框中遇到的问题的更多相关文章

  1. Path,Files巩固,题目:从键盘接收两个文件夹路径,把其中一个文件夹中(包含内容)拷贝到另一个文件夹中

    这个题目用传统的File,InputStream可以做,但是如果用Files,Path类做,虽然思路上会困难一些,但是代码简洁了很多,以下是代码: import java.io.IOException ...

  2. C++将一个vector中的内容复制到另一个vector结尾

    在使用vector容器的时候,需要将一个vector中的内容复制到另一个vector结尾,如何实现呢? 使用vector的insert方法 template <class InputIterat ...

  3. Java 把一个文本文档的内容复制到另一个文本文档

    src.txt放在工程目录下,dest.txt可创建,也可不创建.一旦运行程序,如果dest.txt不存在,将自行创建这个文本文档,再将src.txt中的内容复制到dest.txt import ja ...

  4. 背水一战 Windows 10 (65) - 控件(WebView): 对 WebView 中的内容截图, 通过 Share Contract 分享 WebView 中的被选中的内容

    [源码下载] 背水一战 Windows 10 (65) - 控件(WebView): 对 WebView 中的内容截图, 通过 Share Contract 分享 WebView 中的被选中的内容 作 ...

  5. EasyUI-combotree 下拉树 数据回显时默认选中

    组合树(combotree)把选择控件和下拉树结合起来.它与组合框(combobox)相似,不同的是把列表替换成树组件.组合树(combotree)支持带有用于多选的树状态复选框的树. 依赖 comb ...

  6. java中的文件读取和文件写出:如何从一个文件中获取内容以及如何向一个文件中写入内容

    import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.Fi ...

  7. 刷新各ifream当前页,下拉项改变触发事件js,给选中项加背景色js

    <script type="text/javascript" language="javascript"> //刷新框架各页面 function r ...

  8. java中使用IO流将以文件中的内容去取到指定的文件中

    public class Demo12 { public static void main(String[] args) throws IOException { File file=new File ...

  9. CSS自定义select下拉选择框(不用其他标签模拟)

    今天群里有人问到怎么自定义select下拉选择框的样式,于是群里就展开了激烈的讨论,刚开始一直就是考虑怎样使用纯CSS实现,把浏览器默认的样式覆盖掉,但最后均因兼容问题处理不好而失败告终,最后的解决方 ...

随机推荐

  1. OPC客户端的进程安全初始化

    现场OPC客户端无法获取远程OPC Server列表,也无法连接OPC Server,经查调用CoCreateInstanceEx()创建IID_IOPCServerList接口正常,但调用IOPCS ...

  2. UVA 10494 (13.08.02)

    点此连接到UVA10494 思路: 采取一种, 边取余边取整的方法, 让这题变的简单许多~ AC代码: #include<stdio.h> #include<string.h> ...

  3. C# 应用正则表达式

    1.检测该字符串是否 带有字符“8”(类似sql语句:select * from tableName where name like '%8%') string pattern = @"\w ...

  4. python 多级菜单 纯循环与分支

    源代码: dic1 = {'湖南':{'衡阳':{'珠晖区':'湖南工学院'},'湘潭':{'晖晖':'啦啦'}}, '北京':{'朝阳': {"德玛:北京大学"}}}print( ...

  5. 在Sql Server 2005中将主子表关系的XML文档转换成主子表“Join”形式的表

    本文转载:http://www.cnblogs.com/Ricky81317/archive/2010/01/06/1640434.html 最近这段时间在Sql Server 2005下做了很多根据 ...

  6. APP安全环节缺失,手游运营商怎样应对APP破解困境

    2013年手游行业的规模与收入均实现了大幅增长,发展势头强劲.然而,在手游快速发展的同一时候,因为监管.审核等方面存在着漏洞,手机游戏软件被破解后注入恶意代码.盗取用户財产.窃取用户设备信息的现象屡见 ...

  7. hadoop处理Excel通话记录

    前面我们所写mr程序的输入都是文本文件,但真正工作中我们难免会碰到需要处理其它格式的情况,下面以处理excel数据为例 1.项目需求 有刘超与家庭成员之间的通话记录一份,存储在Excel文件中,如下面 ...

  8. (转载)JavaScript中面向对象那点事

    鉴于自己在JavaScript这方面比较薄弱,所以就找了一本书恶补了一下(被称为犀利书的JavaScript权威指南).书的内容虽然多了点,但这也充分说明了js中的东西还是挺多的.虽然我们的定位不是前 ...

  9. 1/8=1/a+1/b,a,b为自然数

    #include "stdio.h" int main(){ int a; int b; for(a=1;a<1000;a++)  {  for(b=1;b<1000; ...

  10. [转] JavaScript 原型理解与创建对象应用

    这段时间把之前的 JavaScript 的笔记复习了一遍,又学习了一些新的内容,所以把自己的学习笔记加上个人理解在这里总结一下,并提供一个简单的应用示例,希望能帮助一些刚入门的朋友.主 要参考< ...