我不知道该怎么做但是我想使用来自javascript switch语句中的会话变量的给定值,以使隐藏的div在值与案例匹配时可见。到目前为止,我得到了这个。
隐藏的div位于另一个div内的列表中。位于第1页。
<html>
<div id="sidebar-wrapper">
<ul class="sidebar-nav">
<li class="sidebar-brand">a href="#">home</a></li>
<li><div style="display:none;" id="div1"> <a href="#">page 1</a></div></li>
<li><div style="display:none;" id="div2"> <a href="#">page 2</a></div></li>
<li><div style="display:none;" id="div3"> <a href="#">page 3</a></div></li>
</ul>
</div>
从会话中检索值。位于第1页。
<input type="hidden" id="ID" value="<?php echo $_SESSION['ID'];?>" />
</html>
javascript,位于第2页。
var sessionID = document.getElementById("ID").value;
$(document).ready(function() {
switch(sessionID) {
case 2002:
$("#div1").show();
break;
case 2003:
$("#div2").show();
break;
case 2004:
$("#div3").show();
break;
}
});
</script>
我遇到的问题是它不起作用,我不知道为什么。任何帮助都很受欢迎。
我的第2页设置如下。
<?php include "header.php";?>
<div id="content">
Some random text
</div>
<script>The script goes in here</script>
<?php include "footer.php";?>
编辑了一些更清晰。因为事情仍未按预期运作。
答案 0 :(得分:2)
与字符串大小写匹配
case '2002':
$("#div1").show();
break;
case '2003':
$("#div2").show();
break;
case '2004':
$("#div3").show();
break;
<强> DEMO 强>
答案 1 :(得分:1)
sessionID
是String
,但case子句包含整数。所以将sessionId转换为Number
。一元运算符+
将帮助我们将其转换为数字,认为还有其他方法。
switch(+sessionID) {
case 2002:
$("#div1").show();
break;
case 2003:
$("#div2").show();
break;
case 2004:
$("#div3").show();
break;
}
其他方式为switch(Number(sessionId))
和switch(parseInt(sessionId,10))
,并将case子句转换为字符串,如case '2002'
答案 2 :(得分:1)
使用parseInt
函数将字符串转换为整数
var sessionID = parseInt(document.getElementById("ID").value);