Как поместить символ степени в поле ввода html через javascript

у меня есть текстовое поле, как

HTML-код

<input type="text" id="lat" placeholder="Latitude" ng-lat value="9°"> 

который отлично работает, поскольку он отлично отображает знак степени, но когда я пытаюсь установить значение через jquery, как

в jQuery

$("#lat").val("9°")

его отображение всего текста вместо символа степени.

6 ответов


вы можете указать :

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

также лучше использовать .text() установить текст, потому что .val() используется для извлечения значения элемента


вы можете использовать HEXCode, е.г

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

также пройдите через это ссылке


$("#test").click(function(){ 
    $("#lat").val("29" + ascii(176))
});

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

Обновлено JSFiddle для получения дополнительной помощи:http://jsfiddle.net/zkh2of12/1/


используйте специальный тег помимо поля ввода, это будет ясно для пользователя:

<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>

Если вы хотите улучшить их, просто сделайте скрытый <span> с html-кодом, который вам нравится внутри, а затем просто выберите html с JavaScript. Это будет работать даже для символов, которые вы не можете опубликовать в JS


попробуйте это:

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