繁体   English   中英

Javascript,将会话变量用于switch语句

[英]Javascript, using session variable for switch statement

我不确定如何执行此操作,但我想使用给定值,该值来自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";?>

进行了更清晰的编辑。 由于事情仍然没有按预期进行。

搭配琴弦盒

case '2002':
    $("#div1").show();
    break;
case '2003':
    $("#div2").show();
    break;
case '2004':
    $("#div3").show();
    break;

DEMO

sessionID是一个String但case子句包含整数。 因此,将sessionId转换为Number 考虑到还有其他方法,一元运算符+将帮助我们将其转换为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子句转换为String,如case '2002'

使用parseInt函数将字符串转换为整数

var sessionID =  parseInt(document.getElementById("ID").value);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM