2016-07-17 8 views
3

データベースに保存されているいくつかのjQuery要素に引用符(たとえば、< span class='MyClass'>)を付けることができます。このスニペットは私が望むように動作します。PHPからjQueryに引用符付きの文字列を追加する

<script> 
    $(document).ready(function() { 
    <?php 
     $result = mysql_query("SELECT concat(year(`wann`), lpad(month(`wann`),2,0), lpad(day(`wann`),2,0)) as wann, `wieviel` FROM `zecken`"); 
     while($row = mysql_fetch_array($result)) { 
     for($i=1; $i <= $row["wieviel"]; $i++) { 
    ?> 

$('#<?php echo $row["wann"]; ?>').append("<span class='descr bg-danger'>1</span>"); 

    <?php 
     } 
     } 
    ?> 
    }); 
</script> 

私はPHPで完全で書きたい、と私はスパンからCSS-クラス「のDescr BG-危険」を削除した場合、それはまた、動作します。 CSS-クラスがなければ、私の解決策は次のようになります。

<script> 
    $(document).ready(function() { 

    <?php 
     $result = mysql_query("SELECT concat(year(`wann`), lpad(month(`wann`),2,0), lpad(day(`wann`),2,0)) as wann, `wieviel` FROM `zecken`"); 
     while($row = mysql_fetch_array($result)) { 
     for($i=1; $i <= $row["wieviel"]; $i++) { 

      // How to add a class to this appended span ????? 
      echo "$('#".$row["wann"]."').append('<span >1</span>'); ";   
     } 
     } 
    ?> 

    }); 
</script> 

私はいくつかの引用符をエスケープする必要がある場合は、どのように私はこれをしなければならないのですか? iはスパンごとに異なる引用符の第3の対を必要とするようです;)

echo "$('#".$row["wann"]."').append('<span class='''descr bg-danger'''>1</span>'); "; 
+2

引用符をエスケープするには、次のようなバックスラッシュを使用できます: '.append( ' '); ' –

+0

コンカットスープがあなたのスタイルでない場合は、[' sprintf'](http://php.net/manual/en/function.sprintf.php)も利用できます。 '$( "#%s")。)、$ row [' wann ']); 'sprintf(' $("#%s " – castis

答えて

3
echo "$('#".$row["wann"]."').append('<span class=\\'descr bg-danger\\'>1</span>'); "; 

又は、@Andiノース述べたように:

echo "$('#".$row["wann"]."').append('<span class=\"descr bg-danger\">1</span>'); "; 

を(2つの違いはあります

関連する問題