문제

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. 페이지는 IE6이 아닌 Firefox에서 올바르게 렌더링됩니다.

생성되는 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을 사용한다고 말했다. 그래서 여기에 있습니다!

도움이 되었습니까?

해결책

당신이 a를 만드는 것을 잊어 버린 것 같습니다 <tbody> 요소.

다른 팁

또한 IE7에서 dojo를 사용하여 테이블을 생성하려고 할 때이 문제를 만났습니다. HTML이 있지만 아무것도 렌더링되지 않습니다. 다시, 해결책은 Thead, tbody 태그를 사용하는 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top