web-dev-qa-db-ja.com

javascriptを介してhtml入力フィールドに度記号を配置する方法

私はテキストボックスを持っています

[〜#〜] html [〜#〜]

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

これは度記号を完全に表示するので問題なく動作しますが、jqueryを使用して値を設定しようとすると

Jquery

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

度記号の代わりにテキスト全体を表示します。

8
BiJ

value属性をターゲットにできます。

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

.text()は要素の値を取得するために使用されるため、テキストを設定するには.val()を使用することもお勧めします。

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

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

さらにヘルプが必要なJSFiddleを更新しました: http://jsfiddle.net/zkh2of12/1/

2
Ayush

HEXCodeを使用できます。例:

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

また、これを通過します リンク

2
Parag Jadhav

HTMLコードではなくJavaScriptでシンボルを直接設定するのはどうですか?

$(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に投稿できないシンボルでも機能します

0
smnbbrv

入力フィールドのほかに特別なタグを使用すると、ユーザーにとって明確になります。

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

これを試して:

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