下拉框——把一个select框中选中内容移到另一个select框中遇到的问题
在使用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框中遇到的问题的更多相关文章
- Path,Files巩固,题目:从键盘接收两个文件夹路径,把其中一个文件夹中(包含内容)拷贝到另一个文件夹中
这个题目用传统的File,InputStream可以做,但是如果用Files,Path类做,虽然思路上会困难一些,但是代码简洁了很多,以下是代码: import java.io.IOException ...
- C++将一个vector中的内容复制到另一个vector结尾
在使用vector容器的时候,需要将一个vector中的内容复制到另一个vector结尾,如何实现呢? 使用vector的insert方法 template <class InputIterat ...
- Java 把一个文本文档的内容复制到另一个文本文档
src.txt放在工程目录下,dest.txt可创建,也可不创建.一旦运行程序,如果dest.txt不存在,将自行创建这个文本文档,再将src.txt中的内容复制到dest.txt import ja ...
- 背水一战 Windows 10 (65) - 控件(WebView): 对 WebView 中的内容截图, 通过 Share Contract 分享 WebView 中的被选中的内容
[源码下载] 背水一战 Windows 10 (65) - 控件(WebView): 对 WebView 中的内容截图, 通过 Share Contract 分享 WebView 中的被选中的内容 作 ...
- EasyUI-combotree 下拉树 数据回显时默认选中
组合树(combotree)把选择控件和下拉树结合起来.它与组合框(combobox)相似,不同的是把列表替换成树组件.组合树(combotree)支持带有用于多选的树状态复选框的树. 依赖 comb ...
- java中的文件读取和文件写出:如何从一个文件中获取内容以及如何向一个文件中写入内容
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.Fi ...
- 刷新各ifream当前页,下拉项改变触发事件js,给选中项加背景色js
<script type="text/javascript" language="javascript"> //刷新框架各页面 function r ...
- java中使用IO流将以文件中的内容去取到指定的文件中
public class Demo12 { public static void main(String[] args) throws IOException { File file=new File ...
- CSS自定义select下拉选择框(不用其他标签模拟)
今天群里有人问到怎么自定义select下拉选择框的样式,于是群里就展开了激烈的讨论,刚开始一直就是考虑怎样使用纯CSS实现,把浏览器默认的样式覆盖掉,但最后均因兼容问题处理不好而失败告终,最后的解决方 ...
随机推荐
- Linux学习笔记9——make和Makefile
一,Makefile的文件名 默认的情况下,make命令会在当前目录下按顺序找寻文件名为“GNUmakefile”.“makefile”.“Makefile”的文件,大部分情况下,make命令都支持m ...
- Inheritance - SGU 129(线段与多边形相交的长度)
题目大意:给一个凸多边形(点不是按顺序给的),然后计算给出的线段在这个凸多边形里面的长度,如果在边界不计算. 分析:WA2..WA3...WA4..WA11...WA的无话可说,总之细节一定考虑清楚, ...
- 还原dede数据后系统基本参数空白栏目无显示的解决方法
有时dedecms开发的网站在更换空间还原数据后,出现"系统基本参数"空白,而且可以看到tag也没有了. 大家不妨看看后台"数据库备份/还原"处,已经还原后的表 ...
- C++一些注意点之操作符重载
重载操作符需要注意 (1)重载操作符必须具有一个类类型操作数.不能重载内建类型的操作符. operator +(int,int);//这个是错误的,都为内建类型 operator +(int,clas ...
- jquery做个日期选择适用于手机端
第一步:做个 文本框用于显示年月日的 第二步:点击文本框触发bootstrap模态框并显示 第三步:我是建一个外部js页面写的 js中获得当前时间是年份和月份,形如:201208 //获取 ...
- android 49 广播接收者中启动其他组件
main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" andro ...
- Java基础知识强化之集合框架笔记23:ArrayList的实现原理
1. ArrayList的实现原理: 这个可以直接参考网友的博客:http://www.cnblogs.com/ITtangtang/p/3948555.html
- oracle多表关联删除数据表记录方法
oracle多表关联删除的两种方法 第一种使用exists方法 delete from tableA where exits ( select 1 from tableB Where tableA.i ...
- 兼容IE浏览器的placeholder【超不错】
jQuery EnPlaceholder plug (兼容IE浏览器的placeholder)使用 >>>>>>>>>>>>&g ...
- json 序列化的两种方式
JavaScriptSerializer Serializer = new JavaScriptSerializer(); ResultData<EUserData> resultMode ...