2017-05-16 25 views
0

laravel 5.4のビュー内のスクリプトセクションでは、databatablesを使用してデータテーブルを構築しています。私のルートヘルパーでは、スコアIDのルートを呼び出そうとしています。このスコアidは、javascript変数 'data'(console.logを使用してテスト済み)で使用できます。javascriptを使用したBladeの変数

この変数を動作させる方法を知りたいと思います。

//Works 
var data = 1; 
$html = '@if(!is_null(Auth::user()) && Auth::user()->can('update-score'))<a class="btn btn-primary" href="{!! route('score.getHistoryScores', '1') !!}"><i class="fa icon-minus"></i> Verwijderen</a>@endif'; 

//Doesn't work 
var data = 1; 
$html = '@if(!is_null(Auth::user()) && Auth::user()->can('update-score'))<a class="btn btn-primary" href="{!! route('score.getHistoryScores', '+ data +') !!}"><i class="fa icon-minus"></i> Verwijderen</a>@endif'; 

//Doesn't work either and triggers error 
//Error: Use of undefined constant data - assumed 'data' 
var data = 1; 
$html = '@if(!is_null(Auth::user()) && Auth::user()->can('update-score'))<a class="btn btn-primary" href="{!! route('score.getHistoryScores', '' + data + '') !!}"><i class="fa icon-minus"></i> Verwijderen</a>@endif'; 

これを達成するためにいくつかの方法を試しましたが、いずれも機能しませんでした。

答えて

0

これは、サーバー側でJavaScript変数を割り当てようとしているためです。 私は、このソリューションを使用

$html = '@if(!is_null(Auth::user()) && Auth::user()->can('update-score'))<a class="btn btn-primary" href="{!! route('score.getHistoryScores') !!}/'+data+'"><i class="fa icon-minus"></i> Verwijderen</a>@endif'; 
+0

ありがとうございました、残念ながら、うまくいきませんでした... – Arthur

0

、これを試してみてください:ルートでDeleteIdは:

$html = '@if(!is_null(Auth::user()) && Auth::user()->can('update-score'))<a class="btn btn-primary" href="{!! route('score.getHistoryScores', ':deleteId') !!}"><i class="fa icon-minus"></i> Verwijderen</a>@endif'; 
$html = $html.replace(':deleteId', data); 

を私が追加しました。 その後、私はこの値を希望のjavascript変数に置き換えます。

関連する問題