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

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

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

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

Q&A

解決済

2回答

1799閲覧

for文やeach()を使った比較

rainbowsix

総合スコア102

jQuery

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

1グッド

1クリップ

投稿2016/07/12 02:01

編集2016/07/12 02:06

jquery

1<input class="hoge" type="text" name="hoge01"> 2<input class="hoge" type="text" name="hoge02"> 3<input class="hoge" type="text" name="hoge03"> 4<input class="hoge" type="text" name="hoge04"> 5 6 7$(function(){ 8 $(".hoge).each(function(i){ 9if ($(this).val()!=""){ 10 ?????????????? 11} 12}); 13

eachなどでnull以外、同じ値を持ったinputを割り出しだしたいですが
if以後のやり方がよくわかりません。
詳しい方教えていただけますか?

mondaminZ👍を押しています

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

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

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

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

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

shi_ue

2016/07/12 02:13

「割り出したい」って言うのが微妙です。二つずつ同じものが入っていたらどうするのですか?
rainbowsix

2016/07/12 02:19

なるほどそこまでは考えなかったです。その場合は同じ値を持ったものそれぞれ処理を行いたいです。
guest

回答2

0

value が重複している要素を集めるならこういう処理も可能だと思います。

動くサンプル:https://jsfiddle.net/3hv1bLsg/3/

JavaScript

1function someObjectClick() { 2 var ary = [], res = {}; 3 $( 'input[type="text"].hoge' ).each( function() { 4 var val = 'val_' + $( this ).val(); 5 array.push( val ); 6 if ( val === 'val_' ) { return; } 7 var i = $.inArray( val, ary ) 8 if ( i === -1 ) { return; } 9 if ( typeof res[ val ] === 'undefined' ) { 10 res[ val ] = []; 11 res[ val ].push( $( '.hoge' ).eq( i ) ); 12 } 13 res[ val ].push( $( this ) ); 14 } ); 15 return res; 16} 17var test = someObjectClick(); 18console.log( test ); 19console.log( test.val_hoge01[ 0 ].val() ); // "hoge01"

HTML

1<input class="hoge" type="text" name="hoge01" value="hoge01"> 2<input class="hoge" type="text" name="hoge02" value="hoge02"> 3<input class="hoge" type="text" name="hoge03" value="hoge04"> 4<input class="hoge" type="text" name="hoge04" value="hoge04"> 5<input class="hoge" type="text" name="hoge05" value="hoge01"> 6<input class="hoge" type="text" name="hoge06" value="hoge02"> 7<input class="hoge" type="text" name="hoge07" value="hoge03"> 8<input class="hoge" type="text" name="hoge08" value="hoge04"> 9<input class="hoge" type="text" name="hoge09" value="hoge04"> 10<input class="hoge" type="text" name="hoge10" value="hoge01">

投稿2016/07/12 10:36

kei344

総合スコア69407

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

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

0

ベストアンサー

javascript

1function someObjectClick() { 2 var ary = []; 3 $(".hoge").each(function(){ 4 var val = $(this).val(); 5 if (val != ""){ 6 if ($.inArray(val, ary)) { 7 // 重複している時の処理 8 } 9 else { 10 array.push(val) 11 } 12 } 13 }); 14} 15```みたいな? `$(function(){})`でやるのは不毛ですよね。何にも入ってないんだから。

投稿2016/07/12 02:30

shi_ue

総合スコア4437

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

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

rainbowsix

2016/07/12 02:44

いつもありがとうござます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問