时间:2020-10-18 11:19:15 | 栏目:JavaScript代码 | 点击:次
废话不多说了,直接给大家贴代码,具体代码如下所示:
this.$body.find('> tr[data-index] > td > .detail-icon').off('click').on('click', function () { var $this = $(this), //a.detail-icon $tr = $this.parent().parent(), //current row index = $tr.data('index'), row = data[index]; // Fix #980 Detail view, when searching, returns wrong row // remove and update if ($tr.next().is('tr.detail-view')) { //exsit $this.find('i').attr('class', sprintf('%s %s', that.options.iconsPrefix, that.options.icons.detailOpen)); that.trigger('collapse-row', index, row); $tr.next().remove(); $tr.next().remove(); } else { //not exsit and add $this.find('i').attr('class', sprintf('%s %s', that.options.iconsPrefix, that.options.icons.detailClose)); //$tr.after(sprintf('<tr class="detail-view"><td colspan="%s"></td></tr>', $tr.find('td').length)); $tr.after(sprintf('<tr class="detail-view detail-view-head"></tr>')); $tr.after(sprintf('<tr class="detail-view detail-view-body"></tr>')); var $element1 = $tr.next(); var $element2 = $element1.next(); //var $ //var $element = $tr.next().find('td'); var content = calculateObjectValue(that.options, that.options.detailFormatter, [index, row, $element1, $element2], ''); //console.log(content); //head , body Object if($element1.length === 1) { $element1.append(content.head); $element2.append(content.body); } that.trigger('expand-row', index, row, $element1, $element2); } that.resetView(); return false; });