我想显示基于十六进制代码的货币符号,当我更改国家时,我使用Ajax在国家/地区获得十六进制代码。但我想显示符号而不是十六进制代码。我得到了这样的结果
<input aria-invalid="false" placeholder="Currency Symbol" name="currency_symbol" readonly="readonly" id="currency_symbol" class="form-control valid" type="text" value="€">
但浏览器显示十六进制代码
Ajax响应是:
$('#country_list').on('change', function() {
var country = this.value;
if(country !=0) {
var countries_list = JSON.parse('<?php echo json_encode($countries_list) ?>');
$('#currency_symbol').val(countries_list[country].country_currency_hex);
}
});
我注意到一件事当我使用开发人员工具并直接输入十六进制代码时,它会自动变为符号。
当然 - 使用this answer的技术:
var currentProp = $("#currency_symbol").attr("value");
var parsedProp = $("<textarea/>").html(currentProp).text();
$("#currency_symbol").attr("value", parsedProp);
json_encode($array, JSON_UNESCAPED_UNICODE);
我希望这对任何解释都有帮助,因为这是常见的问题
但是:Kua zxsw指出