2017-03-06 6 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

私は、あなたのHTMLテンプレートでプレーンなPHPを埋め込むことが、推奨される方法を使用しているLaravelのどのバージョンかわからないが@php表記(CF doc)です。とにかく、それは私が避けようとしているものです。代わりに、ララールの刃はあなたがしようとしていることを行うネイティブな方法を持っています。

@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を使用していますが、この解決策は機能しません。まだまだemptuページがあります。 –

+0

ValLeNainは私の質問を更新しました。 –

関連する問題