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

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

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

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

Q&A

1回答

4994閲覧

javascriptでname属性に変数を混ぜて記述する方法

ghjkl

総合スコア1

JavaScript

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

0グッド

0クリップ

投稿2021/05/30 02:01

編集2021/05/30 02:06

javascriptを用いて計算するウェブアプリを制作しています。
同じような処理をするため、for文を用いて回したいのですが、

inputタグのname属性を指定してvalueの値を書き換えたいです。
また、1つづつそれらの処理を実行するのはできるのですが、name属性を変数を混ぜて指定する方法がわからず先に進まない状態となっています。

以下が手動で記述したループ処理を行いたいコードです。

html

1<form name="frm3"> 2 3 <p>合計1</p> 4 <input type="text" name="sum_1" value=1> 5 <p>合計2</p> 6 <input type="text" name="sum_2" value=1>

javascript

1 2 $('input[name="sum_1"]').val(Math.floor(eval(frm3["sum_1"].value)*1.8)); 3 $('input[name="sum_2"]').val(Math.floor(eval(frm3["sum_2"].value)*1.8)); 4

これらをループさせるために、

javascript

1 2var sum = ['1','2']; 3 4for (i =0 ; i < sum.length ; i++){ 5 6 $('input[name="sum_' + sum[i] + '"]').val(Math.floor(eval(frm3["sum_" + sum[i]].value)*1.8)); 7 8} 9

としましたが、name属性に変数を混ぜるとその変数を展開してくれません。
なにかほかの記述方法などがあるのでしょうか?

宜しくお願い致します。

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

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

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

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

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

yuuyu

2021/05/30 02:20

> name属性に変数を混ぜるとその変数を展開してくれません。 根拠は何でしょうか?エラー等が出ている場合はエラーを追記してください
m.ts10806

2021/05/30 04:30

evalを採用した理由は何でしょうか。
guest

回答1

0

eval(frm3["sum_' + sum[i] + '"].value)

eval(frm3["sum_" + sum[i]].value)
ではないでしょうか。

投稿2021/05/30 02:16

itagagaki

総合スコア8402

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

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

ghjkl

2021/05/30 02:22

ご回答ありがとうございます。 evalにつきましては、投降後に気づき修正しました。 ありがとうございます。
itagagaki

2021/05/30 02:27

それなら動いてはいると思いますが、計算結果が思った通りじゃないとか、そういうことですか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問