欧元字符的HTML转义没有在textarea中解释?

时间:2016-11-24 05:06:58

标签: javascript jquery euro

它在textarea中显示€而不是€(货币符号)。有谁知道为什么会出错?

<?php
$currency = "&euro;"; //using php with other data from database

echo "<script>
      $('#share_button').click(function(e){
      // pass the currency to javascript and put in textarea shared with other on clicks
           $('#snsdescp').val(`".$currency."`);
      });</script>";
?>

 //shared textarea
<textarea class="form-control" name="message" id="snsdescp"></textarea> 

4 个答案:

答案 0 :(得分:3)

val()方法不进行编码/解码,作为 hack ,您可以使用html()函数进行编码,然后删除文本:

$('#share_button').click(function(e){
    $('#snsdescp').val($("<div>").html("&euro;").text());
});

Here is a working jsFiddle为您的textarea。

答案 1 :(得分:0)

您可以通过将&euro;分配到innerHTML元素的textarea属性来设置它:

document.querySelector('#snsdescp').innerHTML = '&euro;';

如果您想使用jQuery,只需调用其.html()方法:

$('#snsdescp').html('&euro;');

答案 2 :(得分:0)

好吧,我不知道为什么你存储在php变量中,但可能你可以存储在javascript变量中。它可以帮助你。

<?php
  $currency = "\u20ac"; //using php with other data from database
?>

 <textarea class="form-control" name="message" id="snsdescp"></textarea> 
  <br/><br/>
  <div id="share_button" >hello</div>//suppose your id is here

 <script>
    var value ="<?php echo $currency;?>"; //store php value in js variable
    $("#share_button").click(function(){

        $("#snsdescp").val(value);

     });
  </script>

答案 3 :(得分:0)

您可以将Unicode用于€\ u20AC

$('#snsdescp').val("\u20AC");