javascript - 使用 JQuery 更改整体列布局使表格行可见

标签 javascript jquery html css

问题涉及一个表,其中包含一些永久可见的行和一些在加载时生成并默认为 display: none 的行.实际元素使用 PHP 循环生成 255 行,每行都有一个唯一的 id,以及其中的唯一字段。

$('#numFields').change(function(){
    var numFields = $('#numFields').val()
    for (x = 1; x <= numFields; x++) {
        $('#fieldInfoRow'+x).css('display', 'block');
    }
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<table border=1>
    <tr>
        <td>Table Name:</td>
        <td><input type='text' /></td>
    </tr>
    <tr>
        <td>Number of Fields:</td>
        <td><input id='numFields' type='number' min='1' max='255' /></td>
    </tr>

    <tr id="fieldInfoRow1" style="display: none;">
        <td>Column 1 heading:</td>
        <td><input type="text" id="field1Name"></td>
        <td>Data type:</td>
        <td><input type="text" id="field1DataType"></td>
    </tr>

    <tr id="fieldInfoRow2" style="display: none;">
        <td>Column 2 heading:</td>
        <td><input type="text" id="field2Name"></td>
        <td>Data type:</td>
        <td><input type="text" id="field2DataType"></td>
    </tr>

    <tr id="fieldInfoRow3" style="display: none;">
        <td>Column 3 heading:</td>
        <td><input type="text" id="field3Name"></td>
        <td>Data type:</td>
        <td><input type="text" id="field3DataType"></td>
    </tr>

    <tr id="fieldInfoRow4" style="display: none;">
        <td>Column 4 heading:</td>
        <td><input type="text" id="field4Name"></td>
        <td>Data type:</td>
        <td><input type="text" id="field4DataType"></td>
    </tr>
</table>

如我的JSFiddle所示, 在“字段数”框中输入一个整数定义要显示的行数。 注意我只包含 4 行,因为我无法使用 PHP 创建它们。

我遇到的问题是右手<td>已经存在的元素被推到上方,左侧的元素(纯文本)跨越使用 display: block 显示的四个新列。 .我试过使用类似 colspan 的东西在现有的<td>元素无济于事。

我确信它的样式设计简单明了,但我完全没有想法;任何帮助将不胜感激。

最佳答案

错误是因为表格项的默认显示类型不是 block 。将 display: block; 切换为 display: table-row; 来解决这个问题。

关于javascript - 使用 JQuery 更改整体列布局使表格行可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33221781/

相关文章:

javascript - 获取已定义坐标的图层和要素

javascript - 图像加载后显示 AJAX 内容

html - 带有 float 元素的 div 内的垂直对齐问题

javascript - $urlRouterProvider.when() 内的 Angular-UI Resolve Promise 对象

javascript - 更新指令的范围并使用另一个指令进行观察

javascript - 如何根据一个参数函数计算年龄?

javascript - 如何将 JSON 数据(PHP 变量中)转换为 Jquery 数组?

jquery - AJAX简单解释

jquery - 替换 cycle2.js 中的 <img> 标签

javascript - 在将事件类添加到 <a> 时隐藏侧导航栏的 <hr> 元素