Writing /volume1/Web/Public/dokuwiki/data/log/deprecated/2024-11-14.log failed

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
study:javascript:start [2012/12/31 13:50] – [e-mail regexValidator] bananastudy:javascript:start [2015/02/19 07:07] (現在) – [Add Comma] banana
行 78: 行 78:
 ====== Merge Rowspan ====== ====== Merge Rowspan ======
 <code javascript> <code javascript>
-function cellMergeChk(tableObj, rowIndex, cellIndex) +(function ($) { 
- +    $.extend($.fn, { 
- var rowsCn = tableObj.rows.length; +        version: '0.9.0', 
-  +        rowMerge: function(options{ 
- if(rowsCn-1 > rowIndex) +            return new $.impl(options, this); 
- cellMergeProcess(tableObjrowIndex, cellIndex); +        } 
-+    });
-  +
- function cellMergeProcess(tableObj, rowIndex, cellIndex) +
- +
- var rowsCn = tableObj.rows.length; +
- var compareCellsLen = tableObj.rows[rowIndex].cells.length; //count first rows +
-  +
- //initialization  +
- var compareObj = tableObj.rows[rowIndex].cells[cellIndex]; +
- var compareValue = compareObj.innerHTML; +
- var cn = 1; +
- var delCells = new Array(); +
- var arrCellIndex = new Array(); +
- for(i=rowIndex+1; i < rowsCn; i++) +
-+
- var cellsLen = tableObj.rows[i].cells.length; +
- var bufCellIndex = cellIndex+
  
- //get collIndex of row  +    // constructor 
- if(compareCellsLen != cellsLen)  +    $.impl function(options, target) { 
-+        // merge options 
- bufCellIndex bufCellIndex - (compareCellsLen - cellsLen)+        this.$.extend(true, {}, $.impl.defaults, options); 
-+        this.target target
- cellObj = tableObj.rows[i].cells[bufCellIndex]; +        this.init(); 
-  +    };
- if(compareValue == cellObj.innerHTML) +
- +
-                                //save the number of cell to delete. +
- delCells[cn-1] = tableObj.rows[i];  +
-                                //save the index of row cell. +
- arrCellIndex[cn - 1] bufCellIndex;  +
- cn++; +
-+
- else +
-+
- //merge +
- compareObj.rowSpan = cn; +
-  +
- //delete +
- for(j=0; j < delCells.length; j++) +
- { +
- delCells[j].deleteCell(arrCellIndex[j]); +
- +
-  +
- //initialize  +
- compareObj cellObj+
- compareValue = cellObj.innerHTML; +
- cn = 1; +
- delCells = new Array(); +
- arrCellIndex = new Array(); +
-+
- }+
  
- //merge  +    // implementation 
- compareObj.rowSpan = cn; +    $.extend($.impl, { 
- //delete +        defaults:
- for(j=0j < delCells.lengthj+++            rowIndex: 1, 
- +            cellIndex: [1] 
- delCells[j].deleteCell(arrCellIndex[j]); +        }, 
- +        prototype: { 
- }//+            init: function() { 
 +            // cell length before merging 
 +                this.tdLen = this.target.find('tr:nth-child(' + this.o.rowIndex + ') td').length; 
 +                this.delArrays []; 
 +                this._scan(); 
 +            }, 
 +            _scan: function({ 
 +                var self = this, 
 +                indexArray = self.o.cellIndex; 
 +                $.each(indexArray, function (i, o) 
 +                    self._cellMergeChk(o); 
 +                }); 
 +            }
 +            _cellMergeChk: function(cellIndex) { 
 +                var self = this, 
 +                    $target = $(self.target), 
 +                    options = self.o, 
 +                    cnt = 1, 
 +                    compareObj = $target.find('tr:nth-child(' + options.rowIndex + ') td:nth-child(' + cellIndex + ')');
  
-</code>+                // :gt(0-index) 
 +                $target.find('tr:gt(' + (options.rowIndex - 1) + ')').each(function() { 
 +                    // compare cell's length 
 +                    compareIndex = cellIndex; 
 +                    cellsLen = $(this).find('td').length;
  
 +                    if (self.tdLen != cellsLen) {
 +                        compareIndex = compareIndex - (self.tdLen - cellsLen);
 +                    }
 +                    cellObj = $(this).find('td:nth-child(' + compareIndex + ')');
  
 +                    if (compareObj.html() == cellObj.html()) {
 +                        self.delArrays[cnt - 1] = cellObj;
 +                        cnt++;
 +                    } else {
 +                        // merge
 +                        self._merge(compareObj);
 +                        // initialize
 +                        compareObj = cellObj;
 +                        self.delArrays = [];
 +                        cnt = 1;
 +                    }//if~else
 +                });
 +            },
 +            _merge: function(mergedCell) {
 +                $.each(this.delArrays, function() {
 +                    $(this).remove();
 +                });
 +                mergedCell.attr('rowspan', this.delArrays.length + 1);
 +            }
 +        }//prototype
 +    });
  
 +})(jQuery);
  
 +</code>
  
  
-===== Usage ===== 
-#merge first <td> \\ 
-cellMergeChk(document.getElementById("dataList"), 1, 0); \\ 
-#merge second <td> \\ 
-cellMergeChk(document.getElementById("dataList"), 1, 1);  
  
-===== reference ===== + 
-http://blog.naver.com/bacchusl?Redirect=Log&logNo=50005631860+ 
 + 
 +===== Demo ===== 
 +link to [[http://jsfiddle.net/loliqoop/vbgt2/14/|jsfiddle]]
  
  
行 166: 行 170:
 ====== Add Comma ====== ====== Add Comma ======
 <code javascript> <code javascript>
-function addComma(number) { +function digits(number) { 
-    number = '' + number+ return (""+ number).replace(/(\d)(?=(\d\d\d)+(?!\d))/g"$1,");
-    if (number.length > 3+
-        var mod = number.length % 3; +
-        var output = (mod > 0 ? (number.substring(0,mod)) : ''); +
-        for (i=0 ; i < Math.floor(number.length / 3); i++) { +
-            if ((mod == 0&& (i == 0)){ +
-                output += number.substring(mod+ 3 * imod + 3 * i + 3); +
-           } else{ +
-                output+= ',' + number.substring(mod + 3 * i, mod + 3 * i + 3); +
-            } +
-        }//end for     +
-        return (output); +
-     }else{ +
-        return number; +
-       +
 } }
 </code> </code>
 ちなみにカンマを除去するのは次のとおり ちなみにカンマを除去するのは次のとおり
 <code javascript> <code javascript>
-function delComma(value){ +function delcomma(number) { 
-    var str = ''+value; + return number.replace(/\,/g,'');
-    var output=str.replace(/\,/g,'')+
-    return output;+
 } }
- 
 </code> </code>
  

QR Code
QR Code study:javascript:start (generated for current page)