Как поместить символ степени в поле ввода 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 °" value=""> °
как насчет просто установки символа непосредственно в 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°">
<button id="set">set</button>
Если вы хотите улучшить их, просто сделайте скрытый <span>
с html-кодом, который вам нравится внутри, а затем просто выберите html с JavaScript. Это будет работать даже для символов, которые вы не можете опубликовать в JS