如何使用onchange获得多个表行显示/消失
How to get multiple table rows to appear/dissapear using onchange
我有一个选项在我的表单,如果用户回答是,然后显示一个div区域。
然而,我已经改变了我的布局等,因为我的表单处理统计数据,我想我会使用一些表的某些部分。
所以我想知道如何使用onchange函数将三行表附加到表中。
然而,getelementbyID只适用于一个元素,所以只显示我的一行。
下面是目前我写的代码:
<table>
<tr>
<th>
<select name="dosage" id="dosage" style="display:block;" onchange="document.getElementById('dosagearea').style.display = this.options.selectedIndex ? 'block' : 'none'">
</th>
</tr>
<?php
//this code generates input fields using codeigntier
echo '<tr id="dosagearea">', '<td>', form_label('Emitted µmGy','dosage_emitted'), '</td>', '<td>', form_input ('dosage_emitted', set_value('dosage_emitted')) ,'</td>', '</tr>';
echo '<tr id="dosagearea">', '<td>', form_label('Absorbed mGy2','dosage_absorbed'), '</td>', '<td>', form_input ('dosage_absorbed', set_value('dosage_absorbed')) ,'</td>', '</tr>';
echo '<tr id="dosagearea">', '<td>', form_label('Dosage Period (mins)','dosage_time'), '</td>', '<td>', form_input ('dosage_time', set_value('dosage_period')), '</td>', '</tr>';
?>
</table>
有什么建议吗?
谢谢
你真的不希望有多个具有相同id的元素(id应该是唯一的)。你可以用class代替。我的专业知识是使用jquery,这将使这很容易,但有实现"getelementbyclass"行为的函数可以使用
不要使用getElementById,使用getElementByClassName,因为多个元素可以有相同的类名。为了确保它能在IE中工作,添加以下内容:
document.getElementsByClassName = function(class_name)
{
var all = this.getElementsByTagName('*');
var matchArray = new Array();
var re = new RegExp("(?:^|''s)" + class_name + "(?:''s|$)");
for (var i = 0, l = all.length; i < l; i++)
{
if (re.test(all[i].className))
matchArray.push(all[i]);
}
return matchArray;
}
<select name="dosage" id="dosage" style="display:block;" onchange="toggleShowHide(this.options.selectedIndex, ['id1', 'id2', 'id3']);">
<script type="text/javascript">
function toggleShowHide(idx, arrIDs) {
var display = idx ? 'block' : 'none';
for(var x=0; x<arrIDs.length; x++)
document.getElementById(arrIDs[x]).style.display = display;
}
</script>
相关文章:
- 如何显示没有按钮且在指定时间段后消失的消息框
- 单击按钮显示重新单击消失
- Javascript在秒消失时显示DIV元素,并在此之后隐藏栏的选项
- jQuery悬停/隐藏/显示 - 当鼠标悬停在多个图像上时,并非所有文本都会正确消失
- 网页:当我在本地运行时出现某些图像,但在互联网上显示时会消失
- 在输入框中单击时 - 在附近显示文本 - 在单击时输出文本消失
- Ng-重复不起作用的表达显示,然后立即消失
- HTML - 如何使文本消失,并通过按下按钮显示不同的文本
- Jquery移动页面在使用css显示图像后消失
- 从数字键盘中删除显示和消失功能
- D3.js弦图 - 将鼠标悬停在弧上时显示/消失文本
- WebView中的Android突出显示不会消失
- 为什么显示在其他地方的引导程序输入会立即消失
- 使用javascript如何使CSS id显示和消失
- Javascript-显示命令链接,然后消失
- Bootstrap 3.2-显示所有屏幕尺寸的折叠导航-下拉菜单消失
- Jquery html/css:在滚动时显示和消失的固定标题上创建下拉阴影
- 如何使用onchange获得多个表行显示/消失
- Javascript显示/消失对象
- 如何在网页上显示-消失导航栏