【问题标题】:why getElementById dosn't work with <script>... tag but work with php echo '<script>为什么 getElementById 不能与 <script>... 标签一起使用,但可以与 php echo '<script> 一起使用
【发布时间】:2013-03-03 11:51:21
【问题描述】:

我的页面上有一个选择选项并根据我编写的所选选项加载syslogout.php

echo '<script type="text/javascript">$("#divSys").mouseup(function() { 
 var open = $(this).data("isopen");
 if(open) { 
   window.location="sysLogout.php?sysid="+document.getElementById("divSys").value; 
 }
 $(this).data("isopen", !open); });
</script>';

它工作正常。但是这段代码:

<script type="text/javascript">$("#divSys").mouseup(function()  {
   var open = $(this).data("isopen"); 
   if(open) { 
      window.location="sysLogout.php?sysid="+document.getElementById("divSys").value; 
   }
   $(this).data("isopen", !open); });
</script>

它不起作用,sysid 的返回值对于所有选项都是固定的(例如 1 或 2)。 为什么?

【问题讨论】:

  • jQuery 也是 $("#divSys").val()

标签: php jquery select echo


【解决方案1】:

将您的代码包装在$(document).ready() 中。这应该可以解决您的问题:

<script type="text/javascript">
    $(document).ready(function () {
        $("#divSys").mouseup(function() { 
             var open = $(this).data("isopen"); 
             if(open) { 
                 window.location="sysLogout.php?sysid="+document.getElementById("divSys").value; 
             } 
             $(this).data("isopen", !open); 
        });
    });
</script>

【讨论】:

  • 非常感谢康斯坦丁。我错过了,你的问题很有帮助。
【解决方案2】:

试试这个:

<script type="text/javascript">
    $(document).ready(function () {
        $("#divSys").mouseup(function() { 
             var open = $(this).data("isopen"); 
             if(open) { 
                 window.location="sysLogout.php?sysid="+$(this).val(); 
             } 
             $(this).data("isopen", !open); 
        });
    });
</script>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-06
    • 2013-04-28
    • 2019-06-19
    • 1970-01-01
    • 2017-05-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多