2017-10-20 4 views
0

PHP構文でjQuery変数を呼び出したいとします。PHP構文でjquery変数を呼びたい

$('.card').on('click', function() { 
cardID = $(this).attr('id'); 
$('#card-front-img').html('<img src="{{ asset("public/nfc-assets/cards-imgs/'+cardID+'/front-preview.png") }}">'); 

+cardID+カードIDを動的に渡したいと思います。しかし、このコードでは、+cardID+を文字列として出力します。

+1

に交換してくださいあなたは過ごしているのですか? – juntapao

+0

例:cardID = 'aquaBlue';あなたの例では – Moiz

+0

、cardIDは文字列なので、ここには何も間違いはありません – juntapao

答えて

1

あなたがPHPコードでブラウザのコードを実行することはできませんので、あなたが実際にブレード構文にJS変数を渡すことはできません。あなたはアプローチを変えなければなりません。 jsコードのimgパスで操作してください。私はあなたの問題を参照してください

$('.card').on('click', function() { 
    var cardID = $(this).attr('id'); 
    var imgPath = '{{ asset("public/nfc-assets/cards-imgs/cardID/front-preview.png") }}'; 
    $('#card-front-img').html('<img src="' + imgPath.replace('cardID', cardID) + '">'); 
}); 
+0

Shukshin.ivanありがとうございます。それはうまく動作します。 :) – Moiz

0

JavaScript変数を直接渡すことができます。

ただし、後で置き換えることができるプレースホルダを使用してアセットURLを作成できます。

$('.card').on('click', function() { 
    //Create a URL with placeholder 
    var str = '{{ asset("public/nfc-assets/cards-imgs/__REPLACE_WITH_CARD_ID__/front-preview.png") }}'; 

    //Replace placeholder with card id 
    str = str.replace('__REPLACE_WITH_CARD_ID__', $(this).attr('id')); 

    //Use variable 
    $('#card-front-img').html('<img src="' + str + '">'); 
}); 
0

あなたの問題は、PHPではありませんが、それはjqueryの内部で認識し、またあなたの引用符を書き換えていないので、あなたは、変数を追加する方法、

は、ブレード・構文を削除します、

ではJavaScript VARのデータ型が何であるか、この

$('#card-front-img').html("<img src='/public/nfc-assets/cards-imgs/"+cardID+"/front-preview.png'>"); 
関連する問題