如何通过 javascript 在 html 输入字段中放置度数符号

How to put a degree symbol in an html input field through javascript

我有一个文本框

HTML

<input type="text" id="lat" placeholder="Latitude" ng-lat value="9&#176;"> 

效果很好,因为它完美地显示了度数符号,但是当我尝试通过 jquery 设置值时,例如

Jquery

$("#lat").val("9&#176;")

它显示整个文本而不是度数符号。

使用输入框旁边的特殊标签,用户一目了然:

<input type="text" id="lat" placeholder="Latitude &#176;" value=""> &#176;

直接在 JavaScript 中设置符号而不是 HTML 代码怎么样?

$(function(){
  $("#set").click(function(){
    $("#lat").val("°");
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input type="text" id="lat" placeholder="Latitude" ng-lat value="9&#176;"> 

<button id="set">set</button>

如果你想改进这些,只需在里面用你喜欢的 html 代码制作一个隐藏的 <span>,然后用 JavaScript 选择 html。这甚至适用于在 JS

中不能 post 的符号
$("#test").click(function(){ 
    $("#lat").val("29" + ascii(176))
});

function ascii (a) { return String.fromCharCode(a); }

已更新 JSFiddle 以获取更多帮助:http://jsfiddle.net/zkh2of12/1/

你可以使用HEXCode, 例如

 <a href id="my">Here</a> 
<script>
    $('#my').click(function()
                    {
    alert('9\xB0');
    });
    </script>

也通过这个link

试试这个:

$("#lat").attr("val","9"+ascii(176));

您可以定位 value 属性:

$("#lat").attr('value',"101"+String.fromCharCode(176))

最好使用.text()设置文本,因为.val()用于检索元素的值