продолжать получать ".getSelected не является функцией" - PullRequest
1 голос
/ 29 января 2011

Я сделал HtmlTable.Select в mootools 1.3 из существующей таблицы, попробовал «selectable: true» и «enableSelect», ничего не работает, если я пытаюсь получить доступ к методу «getSelected» моей таблицы, я сохраняюполучение ".getSelected не является функцией", все другие функции, такие как "selectAll" или "selectNone" работают отлично ".

мой код (из моего класса):

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());

можетВы помогаете?

1 Ответ

0 голосов
/ 29 января 2011

Я не эксперт по mooTools, но если вы проверите это jsfiddle

Вы увидите, что в прототипе (.__proto__) из this.options.HTMLTable метод selectAll определен, а getSelected - нет.

Это начало вашей отладки. Добавьте некоторые данные в скрипку, чтобы сделать ее более реалистичной для вашей проблемы.

В HTMLTable есть свойство ._selectedRows. просто напишите свой собственный метод .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, только если это необходимо. Вам может понадобиться какая-то проверка HtmlTable.Select загружается.

см. Новый скрипка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...