2015-07-28 56 views
3

把一个度的符号在HTML输入字段我有一个文本框,如何通过JavaScript

HTML

工作正常,因为它完美地显示度的标志,但我当试图通过jquery的设定值像

jQuery的

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

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

+4

我建议你把单位在'输入'之外,否则你会头痛,以确保单位出现在输入值,并在正确的地方。将其保留在外部,并在将其发送到服务器之前根据需要进行追加。 –

+1

@RoryMcCrossan - 这应该是一个ans –

+0

我已经想到了,但我需要在一个文本框中显示纬度细节(度,分,秒),并且需要在那里添加度数标志。 – BiJ

回答

11

您可以定位value属性:

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

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

0

使用特殊标记除了输入域,这将是明确的用户:

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

什么只需直接在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>你喜欢里面,然后随便挑支持JavaScript的HTML的HTML代码。这样,即使连续工作的符号,你不能在JS发布

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

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

更新的jsfiddle以获得更多帮助:http://jsfiddle.net/zkh2of12/1/

1

您可以使用十六进制编码, 如

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

而且通过这个link

0

试试这个:

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

'ascii'没有定义。 – Hacketo