fw.btn.js 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. /**
  2. * @author herong
  3. * 按钮组件
  4. */
  5. var CFWBtn = _FW.fCreateClass();
  6. /**
  7. * 按钮组件API
  8. */
  9. CFWBtn.prototype = {
  10. /**
  11. * 初始化
  12. * */
  13. fInitialize : function(options) {
  14. },
  15. /**
  16. * 设置按钮的装态为可用或只读
  17. * @param aBtn(必需) 单按钮的NAME或是存放多个按钮名称的数组
  18. * @param bStatus(必需) 固定值:true 或是 false
  19. * @param bFlag 按钮是否可见(staus=false 才起作用) 固定值:true 或是 false, 默认是可见:true
  20. * @returns 没有返回值
  21. * <pre>
  22. * 使用举例:
  23. * var arrBtn = new Array('btnCancel','btnSave');
  24. * CFW.oBtn.fnBtnStatus(arrBtn,false,false);
  25. * CFW.oBtn.fnBtnStatus(arrBtn,true);
  26. * </pre>
  27. */
  28. fnBtnStatus : function (aBtn, bStatus, bFlag){
  29. if(aBtn == '' || aBtn == null){
  30. CFW.oWin.fnAlert('按钮控件不能为空.');
  31. return;
  32. }
  33. if(bStatus != true && bStatus != false){
  34. CFW.oWin.fnAlert('按钮属性只能为ture,false.');
  35. return;
  36. }
  37. if(typeof aBtn == 'object' && typeof aBtn.sort == 'function' && typeof aBtn.length == 'number'){
  38. for(var i=0; i<aBtn.length; i++){
  39. if(bStatus){
  40. $('a[name="'+aBtn[i]+'"]').linkbutton("enable");
  41. }else if(!bStatus){
  42. $('a[name="'+aBtn[i]+'"]').linkbutton("disable");
  43. }
  44. if(bStatus == false && bFlag == false){
  45. $('a[name="'+aBtn[i]+'"]').hide();
  46. }
  47. else{
  48. $('a[name="'+aBtn[i]+'"]').show();
  49. }
  50. }
  51. }else{
  52. if(bStatus){
  53. $('a[name="'+aBtn+'"]').linkbutton("enable");
  54. }else if(!bStatus){
  55. $('a[name="'+aBtn+'"]').linkbutton("disable");
  56. }
  57. if(bStatus == false && bFlag == false){
  58. $('a[name="'+aBtn+'"]').hide();
  59. }
  60. else{
  61. $('a[name="'+aBtn+'"]').show();
  62. }
  63. }
  64. },
  65. /**
  66. * 设置按钮按钮的可显示或不可显示
  67. * @param aBtn 单按钮的NAME或是存放多个按钮名称的数组
  68. * @param bStatus 固定值:true 或是 false
  69. * @returns 没有返回值
  70. * <pre>
  71. * 使用方法1:
  72. * 设置按钮name="btnQuery" 和 name="btnCls" 不可显示
  73. * var aBtn = new Array('btnQuery','btnCls');
  74. * CFW.oBtn.fnDisplay(aBtn,false);
  75. *
  76. * 使用方法2:
  77. * 设置按钮name="btnQuery" 可显示
  78. * CFW.oBtn.fnDisplay('btnQuery',true);
  79. * </pre>
  80. */
  81. fnDisplay : function (aBtn,bStatus){
  82. var status;
  83. if(bStatus){status = '';}
  84. else{status = 'none';}
  85. //判断是否为数组
  86. if(typeof aBtn == 'object' && typeof aBtn.sort == 'function' && typeof aBtn.length == 'number'){
  87. for(var i=0;i<aBtn.length;i++){
  88. $('a[name="'+aBtn[i]+'"]')[0].style.display=status;
  89. }
  90. }else{
  91. $('a[name="'+aBtn+'"]')[0].style.display =status;
  92. }
  93. }
  94. };