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

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

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

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

解決済

jQuery 画面表示時にjQueryが効かない。

tkm0604
tkm0604

総合スコア494

jQuery

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

3回答

0リアクション

0クリップ

148閲覧

投稿2022/08/14 05:22

以下のコードでcheckboxを3つまでしかcheckできないコードを書きました。

jQuery

$(function (){ $('.check-max3').click(function () { let checked_length = $('.check-max3:checked').length; // 選択上限は3つまで if (checked_length >= 3) { $('.check-max3:not(:checked)').prop('disabled', true); } else { $('.check-max3:not(:checked)').prop('disabled', false); } }); });

「プロフィール作成画面」では問題なくcheckを3つまでしか付けられないのですが、「プロフィール編集画面」の際(あらかじめ3つcheckedがついた状態で表示されます。)では4つ目のcheckができてしまいます。

画面が表示されてからscriptが動作しているのか確認のため、 alert()を追加してみました。

jquery

$(function (){ alert("アラートを表示します。") $('.check-max3').click(function () { let checked_length = $('.check-max3:checked').length; // 選択上限は3つまで if (checked_length >= 3) { $('.check-max3:not(:checked)').prop('disabled', true); } else { $('.check-max3:not(:checked)').prop('disabled', false); } }); });

そうすると、プロフィール編集画面を表示した際にalretが表示されたので、scriptは画面読み込み時に実行されていると認識しています。

ではなぜプロフィール編集画面(あらかじめcheckedが3つ付いた状態)を表示したときに4つ目のcheckが出来てしまうのかが分かりません。

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

m.ts10806

2022/08/14 05:35

html、CSSも提示してください。

まだ回答がついていません

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

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

jQuery

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