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

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

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

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

2回答

5649閲覧

jquery 配列要素 取得

sea1kiki1

総合スコア14

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

1クリップ

投稿2017/06/25 16:01

<input type="text" name="fname[]" id="fname[]" value=""> このタグは、同じフォーム内にいくつ存在するかは不明とします。

(質問1)
上記フォームの要素があった場合、textタグひとつひとつに対して、
この要素のonchangeイベントを
取得したいのですが、どのようにしたらいいですか?

要素名は、上のように配列にしたいです。

jQuery(document).ready(function($){
$('#fname').change(function() {
var str = $(this).val();
// ここに処理を書く
console.log(str);
});
});

(質問2)
また、
textタグの、nameやidを配列にしない場合に、なにか良案があるでしょうか?

よろしくお願いいたします。

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

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

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

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

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

guest

回答2

0

まず、コードは<code>ボタンを押した際に出来るバッククオート三つの中に入れてくださいね。
編集の際、プレビューが右に出ますので、それを見ながらやるといいですね。

sakapunさんが言っておられるように、id属性はページ内でユニーク(一意)にしなければなりません。
ですので、配列のような書き方はできません。name属性はダブっても大丈夫です。

javascript

1$(function() { 2 $('input[name="fname[]"]').on('change', function(event) { 3 var str = $(this).val(); 4 // ここに処理を書く 5 console.log(str); 6 }); 7});

何らかの理由で$をグローバルで使っているのでない限り、短縮形の書き方でよいかと。
name属性セレクタを使うことで、要素を特定できます。

投稿2017/06/26 05:22

編集2017/06/26 05:26
shi_ue

総合スコア4437

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

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

0

質問1と2を合わせてご回答いたします。
IDプロパティはそのように配列で記述するべきではないため、必ずそのページ内で一つの意味になる文字列を使用してください。
取り急ぎ、今回は修飾などにも使用しないため、IDプロパティは撤去いたします。

html

1<input type="text" name="fname[]" value=""> 2

javascript

1jQuery(document).ready(function($){ 2 $('input[type="text"]').change(function(event) { 3 var str = event.target.value; 4 // ここに処理を書く 5 console.log(str); 6 }); 7}); 8

通例として、eventを引数と渡して、event.target.valueで値を操作するのが一般的です。

投稿2017/06/25 17:00

sakapun

総合スコア888

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問