2016-01-30 58 views
0

我有一個html表,它有可擴展的行添加json編碼時的javascript代碼故障

但是當我將json編碼代碼添加到javascript代碼。 html錶行在沒有用戶交互的情況下展開。當頁面被加載時。它只是擴大。我需要把代碼放在sigle中,因爲我需要使用其他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

+0

你在哪裏使用'functiontwo()'? –

+0

我們無法知道'json_encode'產生了什麼,或者UI如何產生,或者不使用json_encode和使用它們之間的區別。總之......我們沒有辦法重現你的問題 – charlietfl

+0

你需要'tnum','tsign'和'signatoridglobal'作爲'functiontwo()'的工作對象嗎?它看起來像你。 –

回答

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']); ?>'); 

您現在可以使用點符號或方括號來訪問屬性。

+0

哦謝謝你,先生。這樣可行。 – knowmeifyou