`
shangjava
  • 浏览: 1237427 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

推荐几个WEB中常用的工具方法

阅读更多
  1. /**
  2. *@classDOM工具类,提供了一些方便的函数页面元素的一些操作
  3. *@constructor
  4. *@returnDomUtils
  5. */
  6. functionDomUtils(){
  7. }
  8. /**
  9. *从待选列表移动一项到已经选择列表
  10. *@param{Object}fbox-待选项目列表
  11. *@param{Object}tbox-选择了的项目列表
  12. *@param{string}fmsg-提示信息(待选项目列表无数据...)
  13. *@param{string}tmsg-提示信息(请选择数据....)
  14. *@version1.0适用范围:IE6.0/opera8.5/firefox1.5
  15. *
  16. */
  17. DomUtils.move=function(fbox,tbox,fmsg,tmsg){
  18. varid=0;
  19. if(fbox.options.length==0){
  20. alert(fmsg);
  21. returnfalse;
  22. }
  23. for(vari=0;i<fbox.options.length;i++){
  24. if(fbox.options[i].selected){
  25. id=1;
  26. //增加项目列表到右侧
  27. varno=newOption();
  28. no.value=fbox.options[i].value
  29. no.text=fbox.options[i].text
  30. tbox.options[tbox.options.length]=no;
  31. //清空左侧的项目列表
  32. fbox.options[i].value=""
  33. fbox.options[i].text=""
  34. }
  35. }
  36. if(id==0){
  37. alert(tmsg);
  38. returnfalse;
  39. }
  40. DomUtil.bumpUp(fbox);
  41. }
  42. /**
  43. *一般不直接调用该方法,该方法用于
  44. *把列表中value属性为""的option清空,其他相应的移上去。
  45. *@param{Object}box-列表框对象
  46. *@version1.0适用范围:IE6.0/opera8.5/firefox1.5
  47. *
  48. */
  49. DomUtils.bumpUp=function(box){
  50. for(vari=0;i<box.options.length;i++){
  51. if(box.options[i].value==""){
  52. for(varj=i;j<box.options.length-1;j++){
  53. box.options[j].value=box.options[j+1].value;
  54. box.options[j].text=box.options[j+1].text;
  55. }
  56. varln=i;
  57. break
  58. }
  59. }
  60. if(ln<box.options.length){
  61. box.options.length-=1;
  62. DomUtil.bumpUp(box);
  63. }
  64. }
  65. /**
  66. *全部移动到已选择列表
  67. *@param{Object}fbox-待选项目列表
  68. *@param{Object}tbox-选择了的项目列表
  69. *@param{string}msg-提示信息(待选项目列表无数据...)
  70. *@version1.0适用范围:IE6.0/opera8.5/firefox1.5
  71. *
  72. */
  73. DomUtils.moveAll=function(fbox,tbox,msg){
  74. if(fbox.options.length==0){
  75. alert(msg);
  76. returnfalse;
  77. }
  78. for(vari=0;i<fbox.options.length;i++){
  79. //增加项目列表到右侧
  80. varno=newOption();
  81. no.value=fbox.options[i].value
  82. no.text=fbox.options[i].text
  83. tbox.options[tbox.options.length]=no;
  84. //清空左侧的项目列表
  85. fbox.options[i].value=""
  86. fbox.options[i].text=""
  87. }
  88. DomUtil.bumpUp(fbox);
  89. }
  90. /**
  91. *子复选框改变父复选框状态,当父复选框对应的子复选框的选中状态改变后父复选框的状态也要跟着变化,在这里我们改变父复选框的background样式。
  92. 当名为b的复选框的被点击时,名为a的复选框的选中状态将会发生相应变化。如b全选中,则a也呈现选中状态,如b不全选,则b的background呈现#949494颜色,如b全不选,则a呈现未选中状态
  93. *@param{string}arentCheck:父复选框的引用,
  94. *@param{string}childCheck:子复选框名
  95. *@param{boolean}isChild:是否是子复选框主动变化了,true表示是,false表示是父复选框变化
  96. *@type无
  97. *@returns无
  98. *@version1.0适用范围:IE6.0
  99. */
  100. DomUtils.changeCheckbox=function(parentCheckBoxName,childCheckBoxName,isChild){
  101. //子checkbox
  102. varchildCheckboxs=document.getElementByName(childCheckBoxName);
  103. //父checkbox
  104. varparentCheckBox=document.getElementByName(parentCheckBoxName);
  105. //如果是父checkbox变化,则让子checkbox状态和父保持一致
  106. if(!isChild){
  107. for(varj=0;j<childCheckboxs.length;j++){
  108. if(childCheckboxs[j].type=="checkbox"){
  109. childCheckboxs[j].checked=parentCheckBox[0].checked;
  110. }
  111. }
  112. }
  113. //所有子复选框长度
  114. varchildNum=0;
  115. //所有被选复选框长度
  116. varcheckedNum=0;
  117. for(varj=0;j<childCheckboxs.length;j++){
  118. if(childCheckboxs[j].type=="checkbox"){
  119. childNum++;
  120. if(childCheckboxs[j].checked){
  121. checkedNum++;
  122. }
  123. }
  124. }
  125. //一个都没有选中
  126. if(checkedNum==0){
  127. parentCheckBox[0].checked=false;
  128. }elseif(childNum!=checkedNum){
  129. parentCheckBox[0].checked=false;
  130. }elseif(childNum==checkedNum){
  131. parentCheckBox[0].checked=true;
  132. }
  133. return;
  134. }
  135. /**
  136. *
  137. *选择复选框
  138. *@param{string}checkboxname:复选框名字
  139. *@param{stringorarray}targetValue:要设定的值或值数组
  140. *@type无
  141. *@returns无
  142. *@version1.0适用范围:IE6.0
  143. */
  144. DomUtils.selectCheckbox=function(checkboxname,targetValue){
  145. varobjs=document.getElementByName(checkboxname);
  146. if(objs){
  147. vararray=targetValue;
  148. if(false==(targetValueinstanceofArray)){//不是数组,,则转换为数组
  149. array=newArray();
  150. array.push(targetValue);
  151. }
  152. for(vari=0;i<objs.length;i++){
  153. varobj=objs[i];
  154. if(existInArray(obj.value)){
  155. obj.checked=true;
  156. }
  157. }
  158. }else{
  159. alert('nocheckboxnamed['+checkboxname+']');
  160. returnfalse;
  161. }
  162. returntrue;
  163. }
  164. DomUtils.existInArray=function(array,value){
  165. for(vari=0;i<array.length;i++){
  166. if(array[i]==value){
  167. returntrue;
  168. }
  169. }
  170. returnfalse;
  171. }
  172. /**
  173. *
  174. *选择单选
  175. *@param{string}radioname:单选名字
  176. *@param{string}targetValue:要设定的值
  177. *@type无
  178. *@returns无
  179. *@version1.0适用范围:IE6.0
  180. */
  181. DomUtils.selectRadio=function(radioname,targetValue){
  182. varobjs=document.getElementByName(radioname);
  183. if(objs){
  184. for(vari=0;i<objs.length;i++){
  185. varobj=objs[i];
  186. if(obj.value==targetValue){//找到了
  187. obj.checked=true;
  188. break;
  189. }
  190. }
  191. }else{
  192. alert('noradionamed['+radioname+']');
  193. returnfalse;
  194. }
  195. returntrue;
  196. }
  197. /**
  198. *
  199. *选择下拉框中的指定值的元素
  200. *eg:DomUtils.selectOption('ids',1)
  201. */
  202. DomUtils.selectOption=function(objId,targetValue){
  203. varobj=document.getElementById(objId);
  204. if(obj){
  205. varoptions=obj.options;
  206. if(options){
  207. varlen=options.length;
  208. for(vari=0;i<len;i++){
  209. if(options[i].value==targetValue){
  210. options[i].defaultSelected=true;
  211. options[i].selected=true;
  212. returntrue;
  213. }
  214. }
  215. }else{
  216. alert('missingelement(s)!');
  217. }
  218. }else{
  219. alert('missingelement(s)!');
  220. }
  221. }


这几个方法用处在哪里呢?我分别举例说明一下:
DomUtils.move这个方法,适用于两个select选择框,比如A和B,要把A和B中的元素相互移动的情况,可能A是待选择的美女,B是你已选 择的美女,那么你还想选几个的话,你就可以用DomUtils.move(A,B,'没美女可以选了','你还选美女啊')

DomUtils.changeCheckbox,适用于那种全选或者去掉全选的checkbox处理,例如:A是全选checkbox, 剩下的全部是同名字的其他checkbox,如果你选择了A,那么其他的checkbox就默认全选,如果你取消了A就默认取消其他全部选项。如果你一个 一个的选择了checkbox,当你选择完的时候,A也默认勾选上了。

DomUtils.selectCheckbox,这个适用于你有一个或者几个值,他们对应都是某个名字组下checkbox的值,自动让他们选中。
DomUtils.selectRadio 同上面一样,和制定值相等的radio才选择。

DomUtils.selectOption 这个是选择只有指定值的选项。


一般情况下,我们页面的功能都是增删改查, 当你修改某个页面的时候,你页面中可能会有这些元素出现,那么你可能就得选中某些值,那么用这些工具方法,一句JS代码就搞定了。岂不是很简单!呵呵,欢迎扔砖头!
分享到:
评论

相关推荐

    web数据挖掘工具和工具设计

    在设计Web数据挖掘工具时,需要考虑以下几个方面: 1. **数据收集**:如何高效地从Web环境中获取所需的数据。 2. **数据预处理**:包括数据清洗、格式转换等,确保数据的质量。 3. **数据挖掘算法的选择与实现**:...

    tom的几个常用工具10g

    标题中的“tom的几个常用工具10g”指的是Thomas Kyte(通常被简称为Tom)推荐的一些在数据库管理和开发中常用的工具,这里的“10g”可能是指Oracle 10g版本,因为Thomas Kyte是Oracle数据库领域的知名专家。...

    web.config加密解密工具(三个软件集合)

    然后,关于这个压缩包中包含的工具,我们有以下几个可能的组件: 1. **EncDecTool**:这可能是一个专门设计用来加密或解密`web.config`文件的工具。它可能提供了图形化的用户界面,使得操作更加直观,不需要了解...

    web项目的一个测试工具

    Web测试主要关注以下几个方面: 1. 功能测试:验证Web应用的功能是否按预期工作。例如,检查用户登录、注册、购物车操作等是否正确。 2. 性能测试:评估Web应用在高并发和大数据量下的响应时间、吞吐量和资源利用...

    .net几个常用的WebServers服务

    本篇文章将详细介绍.NET中几个常用的WebServers服务,包括它们的功能、特点以及如何使用它们来实现天气预报、IP查询和中英文自动翻译等常见功能。 1. **IIS (Internet Information Services)** IIS是Microsoft提供...

    web客户端访问工具

    在这个简单的应用中,我们可以深入探讨几个关键的IT知识点。 首先,Java语言是开发此工具的基础。Java是一种跨平台的编程语言,具有面向对象、健壮性和安全性等特点,使得它成为开发各种类型应用的理想选择,包括...

    webApi 代码及测试工具

    测试WebApi接口通常涉及以下几个方面: 1. **GET请求**:用于获取资源。测试时,需要验证返回的数据是否符合预期,状态码是否为200。 2. **POST请求**:用于创建新资源。测试应确保数据正确插入数据库,同时返回正确...

    AWebDeploymentTool(web代码部署工具)

    Walle是一个轻量级且高效的web部署系统,它同时也可视为一种持续集成/持续发布(CI/CD)工具。它的主要特点在于其配置的简易性、功能的全面性和用户体验的良好性,使得开发者可以快速地进行web应用的部署。 **1. ...

    web原型设计工具

    在进行Web原型设计时,有几个重要的知识点需要了解: 1. **原型类型**:通常分为低保真(Lo-Fi)原型和高保真(Hi-Fi)原型。低保真原型更注重快速表达概念,用简单的形状和文字表示;高保真原型则更接近最终产品,...

    曙光web数据库管理工具

    该工具的工作原理主要涉及以下几个步骤: 1. 用户接口:用户通过浏览器访问工具的网页,输入SQL语句。 2. 服务器处理:输入的SQL语句被发送到服务器端,由服务器解析并执行。 3. 数据库交互:服务器与选定的数据库...

    一个基于Electron的自动化Web资产探测工具

    Electron的应用开发涉及以下几个关键知识点: 1. **JavaScript**: 作为Electron的基础,JavaScript是编写应用逻辑的主要语言。你可以使用ES6的特性,如箭头函数、模板字符串、Promise等提高代码可读性和可维护性。 ...

    web文件更新工具

    之前三年里,有一年半的时间是负责项目的管理和开发工作,因为负责的项目有十几个之多,频繁的需求变更,也伴随着频繁的版本更新。每次版本更新都会花费一些时间去整理从上次到当前所有更新的文件。这个过程,通常是...

    svg在web页面中的显示工具

    总的来说,SVGWeb在过去的几年中对于推动SVG在Web上的应用起到了积极作用,但随着Flash的退役和SVG的普及,开发者现在更多地依赖于浏览器的原生支持和其他现代工具。尽管如此,理解SVGWeb的工作原理和历史背景,仍然...

    VisualSVN Server Web管理工具

    这个Web管理工具利用了EXTJS框架,EXTJS是一个强大的JavaScript库,可以构建富客户端应用,提供丰富的用户界面组件和交互效果。EXTJS的使用使得这个Web管理工具能够呈现出美观且响应迅速的界面,同时提供了与控制台...

    Web 开发常用的小图片

    在Web开发过程中,小图片是一种不可或缺的资源,它们被广泛应用于界面设计、图标展示、按钮样式、背景装饰等方面。本文将深入探讨Web开发中使用小图片的相关知识点,并结合Java界面设计,提供一些实用技巧和最佳实践...

    破壳web扫描工具_内部版.rar

    在压缩包内,我们看到以下几个文件: 1. `setup.exe`:这通常是安装程序的主文件,用于在用户的计算机上安装破壳Web扫描工具。 2. `Setup.ISL`:这个文件可能包含了安装过程中的设置信息,如界面语言、安装选项等。 ...

    初学Web标准的几个误区,css,web

    ### 初学Web标准的几个误区 #### 误区一:仅为通过校验而标准化 - **核心要点**:Web标准的本质在于实现内容与表现的分离,而非单纯追求代码的校验通过。通过将样式(CSS)与内容(HTML)分离,可以更高效地管理...

    Web网站的测试工具

    本文将详细介绍几种常用的Web测试工具,帮助开发团队更好地评估和优化其Web应用。 #### Microsoft Web Application Stress Tool (WAST) Microsoft Web Application Stress Tool 是一款由微软提供的免费压力测试...

    Web综合检测工具v2.8

    该工具的主要功能体现在以下几个方面: 1. **自动扫描**:工具能自动遍历网站的所有页面,识别潜在的攻击点,极大地减轻了手动检测的工作量。 2. **深度检测**:不仅检查已知漏洞,还能尝试发现新的安全问题,通过...

    webapi性能测试工具Benchmark.zip

    它包括了几个关键指标: 1. **吞吐量**:系统在单位时间内处理请求的数量,通常以请求/秒(RPS)来衡量。 2. **响应时间**:服务器处理请求并返回响应所需的时间,包括网络延迟。 3. **并发用户数**:系统同时处理...

Global site tag (gtag.js) - Google Analytics