2015-07-28 34 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