使用Javascript更改html可见性
Using Javascript to change html visibility
我看过许多不同的问答;A试图找到一个我可以修改的答案,以适应我正在尝试做的事情。我有一个表格,它将用于一家公司内对同一表格有不同要求的不同"单位"。我试图使用JS(不使用jQuery)根据选择的"单位"编号来更改几个表格行的可见性。
选择框部分:
<tr>
<td class="left"><span class="required">*</span>Store Number:</td>
<td>
<select id="storenumber" name="storenumber" required title="Please select your store ID number" onChange="salad()">
<option value="">Select Store Number</option>
<option value="010576">010576</option>
<option value="011169">011169</option>
<option value="008181">008181</option>
<option value="010324">010324</option>
<option value="008615">008615</option>
<option value="009150">009150</option>
<option value="014640">014640</option>
<option value="010684">010684</option>
<option value="011168">011168</option>
<option value="014215">014215</option>
<option value="008179">008179</option>
<option value="008339">008339</option>
<option value="008668">008668</option>
<option value="031574">031574</option>
</select>
</td>
</tr>
对于某些"单位"应隐藏的表行:
<tr id="frig1" style="visibility: hidden;">
<td class="left"><span class="required">*</span>Refrigeration Unit #1:</td>
<td><input name="refrig1" type="text" required id="refrig1" size="3" onChange="coldValidate(this)"></td>
<td class="noborder"></td>
</tr>
<tr id="frig2">
<td class="left"><span class="required">*</span>Refrigeration Unit #2:</td>
<td><input name="refrig2" type="text" required id="refrig2" size="3" onChange="coldValidate(this)"></td>
<td class="noborder"></td>
</tr>
<tr id="frig3">
<td class="left"><span class="required">*</span>Refrigeration Unit #3:</td>
<td><input name="refrig3" type="text" required id="refrig3" size="3" onChange="coldValidate(this)"></td>
<td class="noborder"></td>
</tr>
我尝试过的JavaScript函数:
function salad() {
var storenumber = document.getElementById("storenumber");
switch(storenumber.value) {
case "010576":
document.getElementById("frig1").style.value = "visible";
break;
case "011169":
break;
case "008181":
document.getElementById("frig1").style.value = "visible";
break;
case "010324":
case "008615":
case "009150":
break;
}
}
我甚至试着去W3Schools寻找答案,但他们使用的例子不适用于我的表单。
您调用了错误的方法。
试着。。。
document.getElementById("frig1").style.visibility = 'visible'
这是visibility
属性的语法:
visibility: visible|hidden|collapse|initial|inherit;
这些工作吗?
document.getElementById("frig1").style.display = 'none'
和
document.getElementById("frig1").style.display = 'block'
您需要指定document.getElementById(...).style.visibility
并切换hidden
与visible
而非值。您可能想要使用display: block
和display: none
,因为它们将从视图中完全删除该行,而可见性将隐藏该行,同时保持其在页面上的空间。
您可以尝试使用document.getElementById("frig1").style.visibility="hidden";--隐藏元素
以及document.getElementById("frig1").style.visibility="visible";--使元素可见
希望这将对有所帮助
document.getElementById('domElementId').style.visibility = "visible" ;
document.getElementById('domElementId').style.visibility = "hidden" ;
内联样式具有最高优先级,这可能会在其他情况下产生问题。相反,我们可以有一个类,并使用js 添加它
CSS
.showMenu{
visibility:visible;
}
.hideMenu{
visibility:hidden;
}
JS更改
document.getElementById('domElementId').classList.add("showMenu");
document.getElementById('domElementId').classList.remove("hideMenu");
请参阅http://jsfiddle.net/hLyvhd91/1/
var element_to_hide = document.getElementById("row2");
element_to_hide.style.visibility = 'hidden';
//element_to_hide.style.display = 'none';
console.log(element_to_hide.style.visibility);
- D3在一个调用中绘制不同的SVG形状,没有可见性
- 使用 Javascript 将 HTML 页面中的默认可见性从可见更改为隐藏
- 通过单选按钮状态设置HTML元素的可见性
- html可见性样式;不起作用
- WebView中的Html页不会激发'可见性更改'用户按下主页按钮时的事件(iOS 8)
- 使用 JavaScript 复选框事件切换 html 的可见性
- 如何使用HTML / CSS / JS/在2个画布之间切换可见性
- 控制 HTML 溢出/可见性
- 在JavaScript / jQuery中,是否可以在滚动时跟踪页面上多个HTML元素的可见性
- 哪个更好?html中元素的可见性属性或显示属性
- 使用Javascript更改html可见性
- 使用angular js切换html元素的可见性
- Javascript使用单选按钮过滤html元素的可见性
- 试图使固定的表头在HTML,滚动和可见性问题
- 试图给html音频播放器特定的组件可见性和组件颜色的自定义
- 通过可见性而不是Ajax来更改HTML内容是不好的做法吗?
- 无法更改HTML元素的可见性
- HTML 页面中的角度属性可见性
- 使用jQuery/JavaScript操作HTML表(用于列重新排序、可见性)
- 如何使用knockoutjs切换html元素的可见性