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

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

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

jQueryの拡張機能。 様々な種類があり、その数は膨大です。公開済みのプラグインの他にも、自作することもできます。 jQueryで利用できるようにしておくだけで、導入およびカスタマイズが比較的容易に行なえます。

JavaScript

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

jQuery

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

Q&A

解決済

2回答

880閲覧

.changeのand方式での始動について

k207067

総合スコア19

jQueryプラグイン

jQueryの拡張機能。 様々な種類があり、その数は膨大です。公開済みのプラグインの他にも、自作することもできます。 jQueryで利用できるようにしておくだけで、導入およびカスタマイズが比較的容易に行なえます。

JavaScript

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

jQuery

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

0グッド

0クリップ

投稿2017/09/29 04:44

jqueryで今以下の様なシート1-1から1-8までに値が入力されたらアクションAを実行するというプログラム関数を作成しているのですが、このプログラムを改変してそれぞれ8つのセレクトされた値をトリガーとして以下のプログラムの様な発動条件 「or」方式 ではなく 「and」 方式でアクションAが実行される様なプログラムに変えたいのですがどなたか方法をご教授ください

javascript

1$("select#sheet1-1, select#sheet1-2, select#sheet1-3, select#sheet1-4, select#sheet1-5, select#sheet1-6, select#sheet1-7, select#sheet1-8").change(function(){ 2 3アクションA 4 5});

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

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

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

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

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

guest

回答2

0

ベストアンサー

ざくっとこんな感じで

javascript

1$(function(){ 2 $('select').on('change',function(){ 3 if($('select#sheet1-1 option:selected[value=""],'+ 4 'select#sheet1-2 option:selected[value=""],'+ 5 'select#sheet1-3 option:selected[value=""]').length==0){ 6 console.log("ok"); 7 } 8 }); 9});

HTML

1<select id="sheet1-1"> 2<option value="">---</option> 3<option value="1">1</option> 4<option value="2">2</option> 5<option value="3">3</option> 6</select> 7<select id="sheet1-2"> 8<option value="">---</option> 9<option value="1">1</option> 10<option value="2">2</option> 11<option value="3">3</option> 12</select> 13<select id="sheet1-3"> 14<option value="">---</option> 15<option value="1">1</option> 16<option value="2">2</option> 17<option value="3">3</option> 18</select>

追記

一応こうするとちょっとまとまるかもしれません

javascript

1$(function(){ 2 $('select').on('change',function(){ 3 if($('select').filter(function(){ 4 return $(this).attr('id').match(/^sheet1-[1-8]$/) 5 }).find('option:selected[value=""]').length==0){ 6 console.log("ok"); 7 }else{ 8 console.log("ng"); 9 } 10 }); 11}); 12 13

投稿2017/09/29 05:06

編集2017/09/29 05:23
yambejp

総合スコア114784

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

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

k207067

2017/09/29 05:48

無事目的を達成することができました!!!ありがとうございます!!!
guest

0

全てのchangeイベントが同時に起こることはありえないので、それぞれの要素の初期値を保存しておき、それと変動が有ったかを「アクションA」の直前で調べれば良いと思います。

投稿2017/09/29 04:48

kei344

総合スコア69400

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問