Ошибка: Попробованный для регистрации виджета в идентификаторе == grid1but, что идентификатор уже регистрируется

Я в настоящее время разрабатываю свой личный веб-сайт
и часть моего сайта, у меня есть смещенный 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);

}....

спасибо за помощь мне

9
задан devMan 8 February 2010 в 15:23
поделиться

1 ответ

Dijit хранит хэш строк id виджетов в dijit.registry (см. dijit/_base/manager.js) Обновление id в DOM не повлияет на эту таблицу, поэтому я понимаю, как это может привести к ошибке, если вы попытаетесь создать виджет с одним и тем же ID дважды. Как насчет того, чтобы просто генерировать уникальный id для каждого грида, если вам вообще нужен id?

.
5
ответ дан 4 December 2019 в 21:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: