gpt4 book ai didi

javascript - 不断收到 ".getSelected is not a function"

转载 作者:行者123 更新时间:2023-11-28 10:24:12 26 4
gpt4 key购买 nike

我在现有表格的mootools 1.3中制作了一个HtmlTable.Select,尝试了“selectable: true”和“enableSelect”,没有任何效果,如果我尝试访问表格的“getSelected”方法,我会保留得到“.getSelected不是一个函数”,所有其他函数如“selectAll”或“selectNone”都可以完美工作”。

我的代码(来 self 的类(class)内部):

this.options.HTMLTable = new HtmlTable(this.options.table, {
selectable : true
});

// this works perfect ...
this.options.HTMLTable.selectAll();

// ... but this causes the error!
console.log(this.options.HTMLTable.getSelected());

你能帮忙吗?

最佳答案

我不是 mooTools 专家,但如果你检查这个 jsfiddle

您将在 .__proto__ 的原型(prototype) ( this.options.HTMLTable ) 中看到这一点方法selectAll已定义但 getSelected不是。

这是调试的开始。在 fiddle 中添加一些数据,使其更符合您的问题。

有一个._selectedRows HTMLTable 上的属性。只需编写您自己的 .getSelected 方法即可完成!

刚刚看了源码和方法getSelected不存在。这是它应该做的事情

function getSelected() {
return this._selectedRows;
}

将其归档为错误,同时使用

// Bug in HtmlTable. Custom implementation. Remove when using mootools 1.4
HtmlTable = new Class({
Extends: HtmlTable,
getSelected: function() {
return this._selectedRows;
}
});

正如 @DimitarChristoff 建议您最好使用:

if (!HtmlTable.prototype.getSelected) {
HtmlTable.prototype.getSelected = function() {
return this._selectedRows;
};
}

这样,您只需在必要时更改 HtmlTable 的原型(prototype)。您可能需要某种 HtmlTable.Select 是否加载检查。

查看新的fiddle

关于javascript - 不断收到 ".getSelected is not a function",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4837909/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com