2016-01-30 2 views
0

у меня есть HTML-таблица, и она имеет расширяемую строкуJavascript код неисправность, когда JSON кодирование добавляется

но когда я добавил код JSON кодирования в яваскрипте кода. строка таблицы html расширяется без взаимодействия с пользователем. когда страница загружена. он просто расширяется. и мне нужно поместить код в javascript 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' или как создается этот пользовательский интерфейс, или какие различия существуют между использованием 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

Смежные вопросы