Html表固定列宽

时间:2014-06-12 18:08:38

标签: html

我有一个包含2列和2行的html表。我希望列保持不变。例如,

Row1Text下拉列表
Row2Text文本框

相反,正在发生的事情是Dropwdown正在转变。例如,

Row1Text下拉列表
Row2Text文本框

这在IE 11和Chrome版本35.0.1916.153中发生。但是,它在IE9中运行良好。

以下是我使用的代码:http://jsfiddle.net/RnSXA/

    .Text {
        width:600px;
    }

    function DropdownChange(value) {
        if (value == "2") {
            document.getElementById("Row2").style.display = "block";
        }
        else {
            document.getElementById("Row2").style.display = "none";
        }
    }

    <table style="width:100%;">
        <tr>
            <th align="left" style="width: 15%">
                Row1:
            </th>
            <td style="width: 85%">
                <select onchange="DropdownChange(this.value)">
                      <option value="1">1</option>
                      <option value="2">2</option>
                </select>
            </td>
        </tr>
        <tr id="Row2" style="display:none;">
            <th align="left" style="width: 15%">
                Row2:
            </th>
            <td style="width: 85%">
                <input type="text" class="Text"/>
            </td>
        </tr>
    </table>

2 个答案:

答案 0 :(得分:0)

更改您的html结构:

<强> HTML

<table style="width:100%;">
    <tr>
        <th align="left" style="width: 15%">
            Row1:
            <select onchange="DropdownChange(this.value)">
                <option value="1">1</option>
                <option value="2">2</option>
            </select>
        </th>
        <td style="width: 85%"></td>
    </tr>
    <tr id="Row2" style="display:none;">
        <th align="left" style="width: 15%">
            Row2:
        </th>
        <td style="width: 85%">
            <input type="text" class="Text"/>
        </td>
    </tr>
</table>

您必须将select移到<th>

fiddle

答案 1 :(得分:0)

我需要使用'display:table-row'而不是'display:block'。这个问题在post

中得到了解答