【问题标题】:I want to call a jquery variable in php syntax我想用 php 语法调用 jquery 变量
【发布时间】:2018-04-01 06:54:11
【问题描述】:

我想用 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+ 我想动态传递卡号。但是通过这段代码,它将+cardID+ 打印为字符串。

【问题讨论】:

  • 你传递的 javaScript 变量的数据类型是什么?
  • 例如:cardID = 'aquaBlue';
  • 在你的例子中,cardID是一个字符串,所以这里没有错
  • 我不明白 php 与这个问题有什么关系?我只看到正在使用 jquery

标签: php jquery laravel-5


【解决方案1】:

您实际上无法将 js-variable 传递给刀片语法,因为您无法在 php 代码中执行浏览器代码。你必须改变方法。在 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) + '">');
});

【讨论】:

    【解决方案2】:

    您可以直接传递 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 + '">');
    });
    

    【讨论】:

      【解决方案3】:

      我看到了你的问题,

      你的问题不是php,而是你追加变量的方式,

      删除您的刀片语法,因为它在 jquery 中无法识别并重写您的引号,

      用这个替换它

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-26
        • 2017-08-19
        • 1970-01-01
        • 2016-10-04
        • 1970-01-01
        • 1970-01-01
        • 2011-05-27
        • 1970-01-01
        相关资源
        最近更新 更多