Я в настоящее время разрабатываю свой личный веб-сайт
и часть моего сайта, у меня есть смещенный PR представления, избегает дублирования кода...
и это представление у меня есть dojox.grid.datagrid...
Я могу назвать это представление дважды на той же странице (ruban.phtml), проблема состоит в том, что я нажимаю на 1 кнопку, которая является обращением этого представления (частичное представление), и затем я нажимаю 2-ю кнопку, которая является обращением этого представления, у меня есть ошибка:
Ошибка: Попробованный для регистрации виджета в идентификаторе == сетка, но тот идентификатор уже регистрируется
и решить эту проблему, я удалил обход jsId сетка, и я объявил, что глобальная переменная инициализируется при вызове представления:
grid = dijit.getEnclosingWidget(dojo.byId("gridId1");
// soit
grid = dijit.getEnclosingWidget(dojo.byId("gridId2");
Я пробовал только я всегда с той же проблемой:
...... onDownloadEnd:function() {
// Update the id of the grid
var nodeGrid = dojo.byId("ancienIdGrid");
nodeGrid.setAttribute("id", "newIdGrid");
varGlobalPourId = dijit.getEnclosingWidget(nodeGrid);
}....
спасибо за помощь мне
Dijit хранит хэш строк id виджетов в dijit.registry (см. dijit/_base/manager.js) Обновление id в DOM не повлияет на эту таблицу, поэтому я понимаю, как это может привести к ошибке, если вы попытаетесь создать виджет с одним и тем же ID дважды. Как насчет того, чтобы просто генерировать уникальный id для каждого грида, если вам вообще нужен id?
.