Таблица Dojo не отображается в IE6 - PullRequest
0 голосов
/ 30 июля 2009

Я пытаюсь использовать флажки Dojo (1.3) для отображения / скрытия столбцов в сетке Dojo, которая отображается под флажками. Я получил эту функциональность, чтобы работать нормально, но я хотел организовать свои чек-боксы немного лучше. Поэтому я попытался положить их в стол. Моя функция dojo.addOnLoad выглядит так:

dojo.addOnLoad(function(){
    var checkBoxes = [];
    var container = dojo.byId('checkBoxContainer');
    var table = dojo.doc.createElement("table");
    var row1= dojo.doc.createElement("tr");
    var row2= dojo.doc.createElement("tr");
    var row3= dojo.doc.createElement("tr");

    dojo.forEach(grid.layout.cells, function(cell, index){
        //Add a new "td" element to one of the three rows
    });

    dojo.place(addRow, table);
    dojo.place(removeRow, table);
    dojo.place(findReplaceRow, table);

    dojo.place(table, container);
});

Что расстраивает:

  1. Используя отладчик Dojo, я вижу, что HTML-код правильно генерируется для таблицы.
  2. Я могу взять этот HTML-код и поместить только таблицу в пустой HTML-файл, и он прекрасно отображает флажки в таблице.
  3. Страница корректно отображается в Firefox, только не в IE6.

Генерируемый HTML-код выглядит так:

<div id="checkBoxContainer">
    <table>
        <tr>
            <td>
                <div class="dijitReset dijitInline dijitCheckBox"
                    role="presentation" widgetid="dijit_form_CheckBox_0"
                    wairole="presentation">
                    <input class="dijitReset dijitCheckBoxInput"
                        id="dijit_form_CheckBox_0"
                        tabindex="0" type="checkbox"
                        name="" dojoattachevent=
                        "onmouseover:_onMouse,onmouseout:_onMouse,onclick:_onClick"
                        dojoattachpoint="focusNode" unselectable="on"
                        aria-pressed="false"/>
                </div>
                <label for="dijit_form_CheckBox_0">
                    Column 1
                </label>
            </td>
            <td>
                <div class="dijitReset dijitInline dijitCheckBox"
                    role="presentation" widgetid="dijit_form_CheckBox_1"
                    wairole="presentation">
                    <input class="dijitReset dijitCheckBoxInput"
                        id="dijit_form_CheckBox_1"
                        tabindex="0" type="checkbox"
                        name="" dojoattachevent=
                        "onmouseover:_onMouse,onmouseout:_onMouse,onclick:_onClick"
                        dojoattachpoint="focusNode" unselectable="on"
                        aria-pressed="false"/>
                </div>
            </td>
        </tr>
        <tr>
            ...
        </tr>
    </table>
</div>

Я бы написал на официальных форумах DOJO, но там написано, что они устарели и сейчас используют список рассылки. Они сказали, что если список рассылки не работает для вас, используйте StackOverflow.com. И вот я здесь!

Ответы [ 2 ]

0 голосов
/ 13 апреля 2010

Я также столкнулся с этой проблемой при попытке создать таблицу с помощью dojo в IE7. HTML есть, но ничего не отображается. Опять же, решением является использование тегов thead, tbody.

0 голосов
/ 01 августа 2009

Похоже, вы забыли создать элемент <tbody>.

...