推荐几个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代码就搞定了。岂不是很简单!呵呵,欢迎扔砖头!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值