【发布时间】:2015-10-07 06:11:21
【问题描述】:
我真的不知道任何 javascript,但我已经能够拼凑出一种方法来以编程方式隐藏网页上的 html 表格,使用以下行的版本在页面打开时隐藏它们:
document.getElementById("approved").style.display = "none";
等
然后根据从选择菜单中选择的值显示元素,使用以下方法:
document.getElementById('cboaim').addEventListener('change', function (){
var style = this.value == "10" ? 'block' : 'none';
document.getElementById('approved').style.display = style;
var style = this.value == "13" ? 'block' : 'none';
document.getElementById('enddate').style.display = style;
var style = this.value == "14" ? 'block' : 'none';
document.getElementById('tortm').style.display = style;
var style = this.value == "17" ? 'block' : 'none';
document.getElementById('enddate').style.display = style;
});
除了与“结束日期”相关的两行之外,这几乎适用于所有内容。它适用于其中一个值,但不适用于另一个。我假设引用元素 id 两次会破坏此代码(选择 13 和 17 都需要出现此日期框)。
由于更复杂的原因,我不能只添加另一个具有不同 id 的表,所以我希望有人知道解决问题的简单方法。请对我温柔一点,我知道 javascript 可能会冒犯程序员 ;-)
如果这样更容易的话,我也很乐意使用附加到 onchange 的函数?我只使用 addeventlistener 是因为在 stackoverflow 上的搜索找到了那个特定的解决方案。
干杯 莱斯
【问题讨论】:
-
什么是结束日期?
div,input? -
你是说你的 HTML 有两个 ID 相同的元素?
-
你不能有 2 个具有相同 id 的元素
-
你可以做的是给他们一个不同的 id 或给他们相同的类并以这种方式访问他们......
-
@Les,
'enddate'是一个必须根据 2 个可能值显示的元素吗?
标签: javascript html getelementbyid var addeventlistener