2017-03-06 118 views
0

當我嘗試dd($ conv)數據在那裏,但我仍然無法在腳本中顯示它們。 任何人都知道最新的問題,我嘗試了很多方法,但他們似乎並沒有工作。使用javascript顯示laravel變量

<h4>{{$row->transcript_text}}</h4> 
    <?php $conv = json_encode($row->transcript_text); ?> 
    <script type="text/javascript"> 
     function splitArray() { 
      var myStr = <?php echo $conv; ?>; 
      var strArray = myStr.split(/(?= \| \d)/); 

      // Display array values on page 
      for (var i = 0; i < strArray.length; i++) { 
       $("body").addClass('col-lg-offset-1').append("<h4>" + strArray[i] + "</h4>"); 
      }) 
     } 
     splitArray(); 
    </script> 
+0

它是否在控制檯中給出任何錯誤?如果不是,生成的HTML是什麼? – ValLeNain

+0

感謝您詢問ValLeNain, 沒有錯誤沒有數據,我只是空白頁。如果我以另一種方式來顯示數據(意味着它們在那裏),但我需要分割這些數據,因此我必須這樣做。 –

+0

沒有錯誤,沒有數據?你確定'$ history'被定義,不是空的和可迭代的? – ValLeNain

回答

1

我不知道你正在使用的Laravel的版本,但是推薦的方式嵌入純PHP在你的HTML模板與@php符號(CF doc)。無論如何,這是我想盡量避免的。相反,Laravel刀片本身就有你想要做的事情。

@if(! empty($history)) 
    @foreach($history as $row) 
    <script type="text/javascript"> 
     function splitArray() { 
      var myStr = JSON.parse("{{json_encode($row->transcript_text) }}"); 
      var strArray = myStr.split(" | 0"); 

      // Display array values on page 
      for (var i = 0; i < strArray.length; i++) { 
       $("body").addClass('col-lg-offset-1').append("<h4>" + strArray[i] + "</h4>"); 
      } 
     } 
    </script> 
    <body onload="splitArray()" style="color: lime"> 
    </body> 
    @endforeach 
+0

我正在使用laravel 4.2,但是這個解決方案不起作用,仍然只是空着頁面 –

+0

ValLeNain l已經更新了我的問題。 –