有一个包含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>
CSS
input{
float: left;
margin: 0;
padding: 0;
}
答案 0 :(得分:1)
使用jQuery是可能的。查看演示 - http://jsfiddle.net/k9MhG/4/
答案 1 :(得分:0)
添加一些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>