添加json编码时javascript代码出现故障

时间:2016-01-30 16:47:02

标签: javascript jquery html json

我有一个html表,它有可扩展的行

但是当我将json编码代码添加到javascript代码中时。 html表行在没有用户交互的情况下展开。加载页面时。它只是扩大。我需要将代码放在sigle javascript中,因为我需要使用其他javascript函数的数据。希望我的问题很明确。抱歉我的英文不好

<script type='text/javascript'>//<![CDATA[
var tracknumberreceiveglobal;
$(document).ready(function(){
            $("#report tr:odd").addClass("odd");
            $("#report tr:not(.odd)").hide();
            $("#report tr:first-child").show();

            $("#report tr.odd").click(function(){
                tracknumberreceiveglobal =  $(this).closest("tr").find("td:eq(0)").text();
                $(this).next("tr").toggle();
                $(this).find('i').toggleClass('glyphicon-plus-sign').toggleClass('glyphicon-minus-sign');
            });

        });



function functiontwo() { 
var tnum = <?php echo json_encode($_tempp1); ?>;
var tsign = <?php echo json_encode($_temppp1); ?>;
var signatoryidglobal = <?php echo json_encode($_SESSION['signatoryid']); ?>




}
  </script>

这是没有json编码的页面 enter image description here

这是json编码的页面 enter image description here

1 个答案:

答案 0 :(得分:1)

PHP函数json_encode()返回一个字符串(一个JSON表示),而不是一个真正的JavaScript对象。您必须解析它才能使用通过JSON传递的数据。

var tnum = JSON.parse('<?php echo json_encode($_tempp1); ?>');
var tsign = JSON.parse('<?php echo json_encode($_temppp1); ?>');
var signatoryidglobal = JSON.parse('<?php echo json_encode($_SESSION['signatoryid']); ?>');

您现在可以使用点表示法或括号来访问属性。