2016-09-21 2 views
0

私はクリックで私のテキストを変更することができます。これは、これまでのところうまく機能しているどのように私はjqueryの関数内でPHPを使用することができますか?私のコードで

$('.SeeMore').click(function(){ 
 
\t \t var $this = $(this); 
 
\t \t $this.toggleClass('SeeMore'); 
 
\t \t if($this.hasClass('SeeMore')){ 
 
\t \t \t $this.text('+ more'); \t \t \t 
 
\t \t } else { 
 
\t \t \t $this.text('- less'); 
 
\t \t } 
 
});
<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> 

は、残念ながら、今の私のコードはもう動作していないと私は理由を知りません。

+3

あなたは '" '、例を使用する必要がある文書準備文の中でイベントをクリックしてラップすることを忘れないでください:' ?VARより=「 "' –

+0

試し全体

1

セミコロンと引用符を忘れてしまった:

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

書き込みコード生成コードが硬く、混乱することができます。より良いまともなテンプレートシステム(例えば、Smartyの)を使用します。

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:あなたは

関連する問題