<select><option></option></select> 操作
转载请注明来源:https://www.cnblogs.com/hookjc/
function FlySwapSelect(s1,s2,myvars,calldbclick)
{
var mSel1=s1;
var mSel2=s2;
var mThis=this;
var mVars=myvars.split('|');
var mCallDbClick=calldbclick;
mSel1.attachEvent('ondblclick',function(){mThis.SwapOptions(mSel1,mSel2);});
mSel2.attachEvent('ondblclick',function(){mThis.SwapOptions(mSel2,mSel1);});
//双击事件的处理
this.SwapOptions=function(from,to)
{
if(from.selectedIndex<0) return;
var op1=from.options[from.selectedIndex];
//如果为空
if(op1.innerHTML=='') return;
var op2=new Option(op1.text,op1.value);
var len=to.options.length;
to.options[len]=op2;
for(var i=0;i<mVars.length;i++)
to.options[len].setAttribute(mVars[i],op1.getAttribute(mVars[i]));
from.options[from.selectedIndex]=null;
if(mCallDbClick!='')eval(mCallDbClick+'();');
}
this.GetSum=function(obj,str)
{
var ret=new Array();
arr=str.split("|");
for(var n=0;n<arr.length;n++)
ret[n]=0;
for(i=0;i<obj.options.length;i++)
{
for(var n=0;n<arr.length;n++)
ret[n]+=obj.options[i].getAttribute(arr[n])*1;
}
return ret;
}
//根据查询条件筛选
this.Query=function(sel,where)
{
for(i=0;i<sel.options.length;i++)
{
t=sel.options[i];
var ret=eval(where);
if(ret)
{
if(sel.options[i].innerHTML=='')
sel.options[i].innerHTML=sel.options[i].oldtxt;
}else
{
if(sel.options[i].innerHTML!='')
{
sel.options[i].oldtxt=sel.options[i].innerHTML;
sel.options[i].innerHTML='';
}
}
}
this.Sort(sel);
}
排序:
this.Sort=function(obj)
{
var arr = new Array();
var len=obj.options.length;
for(var i=0; i<len; i++)
{
var attrs = new Array();
for(var n=0;n<mVars.length;n++)
attrs[n]=obj.options[i].getAttribute(mVars[n]);
attrs[n]=obj.options[i].getAttribute('oldtxt');
arr[i]={text:obj.options[i].innerHTML,html:obj.options[i].value,attr:attrs};
}
arr.sort(this.SortFun);
for(var i=0; i<len; i++)
{
obj.options[i].innerHTML=arr[i].text;
obj.options[i].value=arr[i].value;
for(var n=0;n<mVars.length;n++)
obj.options[i].setAttribute(mVars[n],arr[i].attr[n]);
obj.options[i].oldtxt=arr[i].attr[n];
}
}
this.SortFun=function(x,y){if(x.text>y.text) return -1; else if(x.text<y.text) return 1;else return 0;}
this.GetData=function(obj)
{
ret='';
for(i=0;i<obj.options.length;i++)
ret+=','+obj.options[i].value;
return ret.substr(1);
}
}
来源:python脚本自动迁移
<select><option></option></select> 操作的更多相关文章
- 让 select 的 option 标签支持事件监听(如复制操作)
这标题,让option支持事件监听,应该不难的呀,有什么好讲的? 其实还是有的,默认在浏览器代码是无法直接对option标签进行操作的,不仅包括JS事件监听,还是CSS样式设置 查了一些资料,姑且认为 ...
- js 操作select和option
js 操作select和option 1.动态创建select function createSelect(){ var mySelect = document.createElement_x(&qu ...
- jQuery获取Radio选择的Value值||两个select之间option的互相添加操作(jquery实现)
jQuery获取Radio选择的Value值: 1. $("input[name='radio_name'][checked]").val(); //选择被选中Radio的Val ...
- jquery操作select下拉框的各种方法,获取选中项的值或文本,根据指定的值或文本选中select的option项等
简介jquery里对select进行各种操作的方法,如联动.取值.根据值或文本来选中指定的select下拉框指定的option选项,读取select选中项的值和文本等. 这一章,站长总结一下jquer ...
- vue操作select获取option值
如何实时的获取你选中的值 只用@change件事 @change="changeProduct($event)" 动态传递参数 vue操作select获取option的ID值 如果 ...
- js 操作select和option常见用法
1.获取选中select的value和text,html <select id="mySelect"> <option value="1"&g ...
- jquery的select元素和option的相关操作
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- javaScript的select元素和option的相关操作
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- select标签的相关操作,选中,获取option的值,二级联动
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- AngularJS下拉列表select在option动态变化之后多出了一个错误项的问题
场景: Select初始化之后,选中select的某个选项 通过AngularJS更新select的选项 错误写法: HTML(使用ng-repeat) <div ng-app="Te ...
随机推荐
- 强强联袂!腾讯云TDSQL与国双战略签约,锚定国产数据库巨大市场
日前,腾讯云计算(北京)有限责任公司与北京国双科技有限公司签署了<国产数据库产品战略合作协议>,双方将在数据库技术方面展开深度合作,通过分布式交易型数据库的联合研发.产品服务体系建设.品牌 ...
- [opencv]KAZE、AKAZE特征检测、匹配与对象查找
AkAZE是KAZE的加速版 与SIFT,SUFR比较: 1.更加稳定 2.非线性尺度空间 3.AKAZE速度更加快 4.比较新的算法,只有Opencv新的版本才可以用 AKAZE局部匹配介绍 1.A ...
- Typec转HDMI+VGA+PD3.0+USB3.0扩展坞四合一芯片方案|CS5268替代AG9321
CS5268是一种高度集成的单芯片,适用于多个细分市场和显示应用,如拓展坞.扩展底座等. 2.CS5268参数说明 总则 USB Type-C规范1.2 HDMI规范v2.0b兼容发射机,数据速率高达 ...
- <数据结构>XDOJ261.理解哈夫曼树
问题与解答 问题描述: 假设用于通信的电文由 n(2≤n≤30)个字符组成,字符在电文中出现的频度(权值)为 w1 w2- wn,根据该权值集合构造哈夫曼树,并计算该树的带权路径长度. 输入说明: 输 ...
- Android程序设计基础 • 【目录】
章节 内容 实践练习 Android程序设计基础作业目录 (作业笔记) 第1章 Android程序设计基础 • [第1章 Android程序入门] 第2章 Android程序设计基础 • [第2章 基 ...
- MySQL数据库安装Version5.7.25
1.说明 MySQL数据库大版本5.7的安装没有较大变化, 所以MySQL数据库Version5.7.25安装请参考:MySQL数据库安装Version5.7 上面文章中MySQL安装使用Versio ...
- Swoole 中使用 WebSocket 异步服务器、WebSocket 协程服务器
WebSocket 异步风格服务器 WebSocket\Server 继承自 Http\Server,所以 Http\Server 提供的所有 API 和配置项都可以使用. # ws_server.p ...
- .NET C#教程初级篇 1-1 基本数据类型及其存储方式
.NET C# 教程初级篇 1-1 基本数据类型及其存储方式 全文目录 (博客园).NET Core Guide (Github).NET Core Guide 本节内容是对于C#基础类型的存储方式以 ...
- 单例模式(python)
python 的单例模式需要重写__new__()和 __init__() 需要注意,标识符__和_区别 参考资料: https://www.cnblogs.com/huchong/p/8244279 ...
- HashMap原理及源码分析
HashMap 原理及源码分析 1. 存储结构 HashMap 内部是由 Node 类型的数组实现的.Node 包含着键值对,内部有四个字段,从 next 字段我们可以看出,Node 是一个链表.即数 ...