質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

2回答

936閲覧

javaScriptでtextContentをカンマ区切りに書き換えたい

takuson

総合スコア36

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2020/06/26 04:02

編集2020/06/26 06:05

javaScript, jspの初心者です。
サーブレットでセットした値をjsp側でカンマ区切りで表示したい。最初はtaglibのfmtを使おうとしたのだが、諸事情で使えなくなったので代用案でtoLocaleString()を使うことにしました。しかし、表示が反映されませんでした。

jsp

1<div id="str">10000</div> 2 3<script> 4 document.getElementById("str").textContent=Number(textContent).toLocaleString(); 5</script>

###試したこと

jsp

1<div id="str">10000</div> 2 3<script> 4 document.getElementById("str").textContent="1,000"; 5</script>

この場合はしっかりと変わってくれました。しかし、「""」で囲わないと表示が「1」になってしまいました。
※1つのみを変えることは解答者様のおかげでできました。

追記

jsp

1<c:forEach var="product" items="${productList}"> 2 3 <li><a href="ProductListSelect?productId=${product.product_id}"> 4 <img src="${product.firstImage}" align="top"> 5 <p>${product.product_name}</p> 内容量:${product.product_contents}kg<br> 6 <font>${product.product_price}</font> 7 </a></li> 8 </c:forEach>

上のプログラムのように、繰り返し処理で<font>${product.product_price}</font>に対して常にカンマを付ける処理ではどうすればよいでしょうか?
名前の通り金額が入っていて1000だと見にくいので1,000と変えたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

単にtextContentでは、何を指しているのかわかりません。

javascript

1document.getElementById("str").textContent=Number(document.getElementById("str").textContent).toLocaleString();

しかし、「""」で囲わないと表示が「1」になってしまいました。

document.getElementById("str").textContent=1,000;と書いた場合、``document.getElementById("str").textContent=1のあとに000`という式を解釈するような処理となります。

投稿2020/06/26 04:05

maisumakun

総合スコア145208

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takuson

2020/06/26 05:58

ありがとうございます。 例えばですが、カンマを付けたいものが2つあった場合にはどのようにすればよいでしょうか? 今はidをもとに変更していると思うのですが、その場合1つ目のものにしか対応できないと思うのですが… 言葉だけでは伝わりにくいと思うので、質問内容に追加します。
guest

0

javascript

1<div id="str">10000</div> 2<script> 3var ele; 4(ele=document.querySelector("#str")).textContent=Number(ele.textContent).toLocaleString(); 5</script>

投稿2020/06/26 04:10

yambejp

総合スコア115010

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問