如何在jquery函数中使用php?

问题描述 投票:0回答:5

使用我的代码,我可以通过点击更改我的文字:

$('.SeeMore').click(function(){
		var $this = $(this);
		$this.toggleClass('SeeMore');
		if($this.hasClass('SeeMore')){
			$this.text('+ more');			
		} else {
			$this.text('- less');
		}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<li class="SeeMore" style="cursor:pointer">+ more</li>

到目前为止这种方法运作良好。但因为我的页面有不同的语言版本,我想用php交换单词:

   <script> 
       $('.SeeMore').click(function(){

        var more = <?php echo $lang['MORE']; ?>
        var less = <?php echo $lang['LESS']; ?>
        var $this = $(this);
        $this.toggleClass('SeeMore');
        if($this.hasClass('SeeMore')){
            $this.text(more);           
        } else {
            $this.text(less);
        }
    });</script>   

不幸的是现在我的代码不再工作了,我不知道为什么。

php jquery
5个回答
2
投票

你错过了两件事 -

 1. Semi-colon at the end of the statement.
 2. Double / single quotation around the PHP statement inside the jQuery.

你需要使用",例如:var more = "<?php echo $lang['MORE']; ?>";


1
投票

你忘记了分号和引号:

var more = "<?php echo $lang['MORE']; ?>";
var less = "<?php echo $lang['LESS']; ?>";

编写代码生成代码很难,可能会令人困惑。更好地使用体面的模板系统(例如Smarty)。


1
投票

你忘记了引号:

var more = "<?php echo $lang['MORE']; ?>";
var less = "<?php echo $lang['LESS']; ?>";

1
投票

使用数据属性

HTML:

<li class="SeeMore" data-less="<?php echo $lang['LESS']; ?>" data-more="<?php echo $lang['MORE']; ?>" style="cursor:pointer">+ more</li>

JS:

   $('.SeeMore').click(function(){

        var more = $(this).attr('data-more');
        var less = $(this).attr('data-less');
        var $this = $(this);
        $this.toggleClass('SeeMore');
        if($this.hasClass('SeeMore')){
            $this.text(more);           
        } else {
            $this.text(less);
        }
    });

PS:不要忘记在文档就绪语句中包装click事件


1
投票

您可以使用以下代码在jquery中使用您的php变量:

token = "<?php echo $_SESSION['token']; ?>"
© www.soinside.com 2019 - 2024. All rights reserved.