【发布时间】:2011-07-11 20:49:51
【问题描述】:
这是一个相当简单的功能,它只是根据用户从下拉菜单中选择的内容来显示和隐藏不同的 div。知道为什么它在 IE 或 Chrome 中不起作用,但在 FF 中起作用吗?到处搜索,找不到任何答案:(
<script language="javascript" type="text/javascript">
function show(field) {
var val = field.value;
if (val == "imaging")
{
document.getElementById("imagingDiv").style.display = "block";
document.getElementById("inventoryDiv").style.display = "none";
document.getElementById("chargebackDiv").style.display = "none";
document.getElementById("studentJobAccountDiv").style.display = "none";
}
else if (val == "inventory")
{
document.getElementById("imagingDiv").style.display = "none";
document.getElementById("inventoryDiv").style.display = "block";
document.getElementById("chargebackDiv").style.display = "none";
document.getElementById("studentJobAccountDiv").style.display = "none";
}
else if (val == "chargeback")
{
document.getElementById("imagingDiv").style.display = "none";
document.getElementById("inventoryDiv").style.display = "none";
document.getElementById("chargebackDiv").style.display = "block";
document.getElementById("studentJobAccountDiv").style.display = "none";
}
else if (val == "studentJobAccount")
{
document.getElementById("imagingDiv").style.display = "none";
document.getElementById("inventoryDiv").style.display = "none";
document.getElementById("chargebackDiv").style.display = "none";
document.getElementById("studentJobAccountDiv").style.display = "block";
}
else
{
document.getElementById("imagingDiv").style.display = "none";
document.getElementById("inventoryDiv").style.display = "none";
document.getElementById("chargebackDiv").style.display = "none";
document.getElementById("studentJobAccountDiv").style.display = "none";
}
}
</script>
编辑:我在下拉菜单中调用该函数:
<select id="reportsSelect">
<option value="blank" id="blank" onclick="show(this)"></option>
<option value="imaging" id="imaging" onclick="show(this)">Imaging Request</option>
<option value="inventory" id="inventory" onclick="show(this)">Inventory</option>
<option value="chargeback" id="chargeback" onclick="show(this)">Chargeback</option>
<option value="studentJobAccount" id="studentJobAccount" onclick="show(this)">Student Job Account</option>
</select>
我很想按照某人的建议使用 JQuery,但我对它的经验是 0,所以如果您对此有任何提示或指示,请随时提供帮助。
另外为了澄清这个问题,在 FireFox 中,当用户选择他们想要的任何选项时,它会通过 show 函数显示正确的 div。在 IE 中,当他们选择任何选项时,它不会显示任何内容。
【问题讨论】:
-
你是怎么调用show方法的?
-
您能否解释一下什么不起作用,并向我们展示您是如何将其与您的页面集成的?
-
yikes - 你有什么理由不能在你的项目中使用 jQuery 吗?真的会收紧,它会起作用。
-
一旦您的代码工作正常,请将其发布到codereview.stackexchange.com 以获取有关如何改进它的建议。你可以用大约 5 行代码来编写它。
-
在 show 方法中添加了如何使用它。
标签: javascript