运行PHP代码()jQuery函数

问题描述:

我有一个链接:运行PHP代码()jQuery函数

<a id="btnExistReceiver" class="btn btn-app"> 
    <i class="fa fa-user"></i> 
    <?= __('Existing Receiver') ?>                  
</a> 

我想改变里面的文字,所以我称之为“html的()”函数是这样的:

$(function() { 
    $("#btnExistReceiver").click(function() { 
    $("#receiverForm").css("display", "block"); 
    $(this).html("<i class='fa fa-user'></i><?= __(' Existing R ') ?>");   
    }); 
}); 

问题是,jQuery正在评论我的PHP代码。这里是输出:

<a id="btnExistReceiver" class="btn btn-app"> 
    <i class="fa fa-user"></i> 
    <!--?= __('Existing Receiver') ?-->                  
</a> 

为什么会发生这种情况,我该如何解决它?

+0

这不是一个jQuery的问题 - 这是一个PHP/HTML之一。你的PHP脚本在渲染之前没有被解释,所以它被当做HTML。浏览器无法识别' ?>'标签,因此将其更改为评论。您可以在此小提琴的DOM检查器中看到这一情况:https://jsfiddle.net/qj0vv0rc/。为了解决这个问题,你需要在PHP代码将被正确执行的地方运行你的JS代码。我假设它目前在一个外部的.js文件中? –

+0

而不是' ?>'你试过用''还是给出相同的输出 – Toxide82

+0

@MehdiBouzidi是的 - 把JS代码放在PHP将被正确解释的地方,例如。 *里面的* .php文件 –

这里是我固定的问题: 1 - 我把PHP & jQuery的代码在同一个文件“.ctp” 2-在结束”。 CTP”的文件,我把这个代码:

. 
. 
.   
</body> 
     </html> 


    <?php $this->start('script'); ?> 

    <?= $this->Html->script('bootstrap-filestyle'); ?> 
    <?= $this->Html->script('jquery-2.1.1.min.js'); ?> 
    <?= $this->Html->script('jquery.form.min.js'); ?> 

    <script type="text/javascript"> 
     $("#btnExistReceiver").click(function() { 
      $("#receiverForm").css("display", "block"); 

      $(this).html("<i class='fa fa-user'></i> <?php echo __('Inexistent Receiver') ?> "); 

     }); 
    </script> 

    <?php $this->end(); ?> 

感谢所有大家谁试图帮助我

PHPJavaScript/jQuery不起作用。

因此,尝试,

<?php echo '<script>$(function() { 
     $("#btnExistReceiver").click(function() { 
      $("#receiverForm").css("display", "block"); 
      $(this).html("<i class=\'fa fa-user\'></i>'.__(' Existing R ').'");   
      }); 
     });</script>'; 
?> 
+0

用此替换脚本。在echo语句中添加脚本标记。把它放在php或html文件中。不在.js文件中 –

+0

用完整代码更新问题 –

+0

将编辑后的代码放在您的头部或正文标记中 –