我正在使用fooTable并且<td>
元素的内部内容存在问题。他们都被删除了。在以前的版本中不是这种情况,但 v3 将其删除。例如,如果我添加一个按钮<td><button class="online">Turn on</button></td>
,它将被删除,以及表格单元格的类。
如何防止这种情况?
我们如何设置 Header Data Parameter
“数据类型”=“html”
对于任何希望防止这种情况发生的人,可以在 footable.js 中进行更改。改变这个:
$create: function(){
if (this.created) return;
(this.$el = F.is.jq(this.$el) ? this.$el : $('<td/>'))
.data('value', this.value)
.contents().detach().end()
.append(this.format(this.value));
this._setClasses(this.$el);
this._setStyle(this.$el);
this.$detail = $('<tr/>').addClass(this.row.classes.join(' ')).data('__FooTableCell__', this)
.append($('<th/>', { text: this.column.title }))
.append($('<td/>'));
this.created = true;
},
至:
$create: function(){
if (this.created) return;
(this.$el = F.is.jq(this.$el) ? this.$el : $('<td/>'))
.data('value', this.value)
.contents();
this._setClasses(this.$el);
this._setStyle(this.$el);
this.$detail = $('<tr/>').addClass(this.row.classes.join(' ')).data('__FooTableCell__', this)
.append($('<th/>', { text: this.column.title }))
.append($('<td/>'));
this.created = true;
},
好吧,这可能不是最好的处理方式,但它符合我的目的。这会留下未格式化的内容,并保持链接、按钮、类的设置......
添加到@user4675957 的出色贡献:当您使用内部 HTML 时,详细信息(折叠表)版本将其显示为文本。这是因为它是这样加载的。
为防止这种情况,请在 $create 函数中修改此行:
.append($('<th/>', { text: this.column.title }))
至
.append($('<th/>').append(this.column.title))