它在textarea中显示€
而不是€(货币符号)。有谁知道为什么会出错?
<?php
$currency = "€"; //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>
答案 0 :(得分:3)
val()
方法不进行编码/解码,作为 hack ,您可以使用html()
函数进行编码,然后删除文本:
$('#share_button').click(function(e){
$('#snsdescp').val($("<div>").html("€").text());
});
Here is a working jsFiddle为您的textarea。
答案 1 :(得分:0)
您可以通过将€
分配到innerHTML
元素的textarea
属性来设置它:
document.querySelector('#snsdescp').innerHTML = '€';
如果您想使用jQuery,只需调用其.html()
方法:
$('#snsdescp').html('€');
答案 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");