Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将输入宽度绑定到表列宽_Javascript_Jquery_Html Table_Width - Fatal编程技术网

Javascript 将输入宽度绑定到表列宽

Javascript 将输入宽度绑定到表列宽,javascript,jquery,html-table,width,Javascript,Jquery,Html Table,Width,有一个表有5列。列的宽度可能不同(我没有指定恒定宽度) 现在我想在表的顶部创建5个输入元素。是否有任何技巧使每个输入元素的宽度等于相应的列宽 例如,输入1应具有第1列的宽度,输入2-第2列的宽度,等等 那么,如何将输入绑定到列 更新: <script> $('#addButton').click(function() { $("#addContent").slideToggle("slow"); $('input').width(+$('table td').widt

有一个表有5列。列的宽度可能不同(我没有指定恒定宽度)

现在我想在表的顶部创建5个输入元素。是否有任何技巧使每个输入元素的宽度等于相应的列宽

例如,输入1应具有第1列的宽度,输入2-第2列的宽度,等等

那么,如何将输入绑定到列

更新:

<script>
$('#addButton').click(function() {
    $("#addContent").slideToggle("slow");
    $('input').width(+$('table td').width()-1);
});
</script>

<div id = "add">
    <div id = "addButton" title='New Record' ;>
        <img src='images/add.png' alt='New Record' />
    </div>

    <div id = "addContent">
                        <input type="text">
                        <input type="text">
    </div>
</div>

                <table id="newspaper-b" border="0" cellspacing="2" cellpadding="2" width = "100%">
                    <thead>
                        <tr>
                            <th scope="col">Opr</th>
                            <th scope="col">Flt Num</th>
                            <th scope="col"></th>
                        </tr>
                    </thead>
                    <tbody>
                        <?php foreach ($result1 as $row):
                            $status=$row['status'];
                            $airlineName=$row['airlineName'];
                            $flightNum=$row['flightNum'];
                        ?>
                        <tr id="<?php echo $flightNum; ?>" class="edit_tr">
                            <td width="80" ><?php echo $airlineName;?></td>
                            <td width="80" ><?php echo $flightNum;?></td>
                            <td width="80" id="<?php echo $flightNum; ?>" class="deact_but">
                                 <div>
                                    <img src='images/delete.png' alt='Deactivate' />
                                </div>              
                            </td>
                        </tr>
                        <?php endforeach;?>
                    </tbody>
                </table>    
添加一些JavaScript(在页面加载的末尾或之后)以获取顶级单元格的offsetWidth,并将这些宽度应用于输入

大概是这样的:

document.getElementById('myInput').style.width = document.getElementById('myTable').rows[0].cells[0].offsetWidth;
或者,扩展表格以包含输入,并将宽度设置为100%。您可以将样式应用于第一个TR,使其看起来好像不是表的一部分。下一个TR可以包含带边框的标题等

<table>
    <tr>
      <td><input type="text"></td>
      <td><input type="text"></td>
      <td><input type="text"></td>
    </tr>
    <tr>
      <td><br/><br/><br/></td>
    </tr>
    <tr>
        <td>ContentContent</td>
        <td>Content</td>
        <td>Cont</td>
    </tr>
</table>




内容 内容 续
使用jQuery是可能的。查看演示-

您是否尝试将style=“width:100%”添加到输入中?您将如何使用php?@Chris Gessler:请查看jFiddle。输入具有“宽度:100%”。在这种情况下,每个输入只占表格的宽度。谢谢。请看我的帖子中的更新。我发布了完整的代码。因此,有3列,最后一列包含一个按钮。当用户单击新记录时,输入会向下滑动。问题仍然是一样的——它们不继承列的宽度(width=“80”)。请帮忙。谢谢
<table>
    <tr>
      <td><input type="text"></td>
      <td><input type="text"></td>
      <td><input type="text"></td>
    </tr>
    <tr>
      <td><br/><br/><br/></td>
    </tr>
    <tr>
        <td>ContentContent</td>
        <td>Content</td>
        <td>Cont</td>
    </tr>
</table>