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

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

新規登録して質問してみよう
ただいま回答率
85.35%
Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

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

jQuery

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

Q&A

解決済

1回答

1763閲覧

チェックボックス複数選択の上限制御ができるコードが動かない

momokoko

総合スコア38

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

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

jQuery

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

0グッド

0クリップ

投稿2021/02/03 03:21

編集2021/02/03 05:04

選択上限は2つまでできるチェックボックスをコピペで作りましたが、3項目すべてチェックできてしまっています。
何が間違っているかわからない状態なのでご指摘頂けると嬉しいです。

該当だと思われるコードです。
よろしくお願い致します。

<div class="block"> <label class="block-title">性別 Sex </label> <div class="radio-wrapper"> <input type="checkbox" id="detail01" name="check" class="radio-inline__input" checked> <label for="detail01" class="radio-inline__label">たまご </label> <input type="checkbox" id="detail02" name="check" class="radio-inline__input"> <label for="detail02" class="radio-inline__label">ハム </label> <input type="checkbox" id="detail03" name="check" class="radio-inline__input"> <label for="detail03" class="radio-inline__label" >ツナ</label> </div> </div> <script> $(function () { $('input[name="check"]').click(function() { var checked_length = $('input[name="check"]:checked').length; // 選択上限は2つまで if (checked_length >= 2) { $('input[name="check"]:not(:checked)').prop('disabled', true); } else { $('input[name="check"]:not(:checked)').prop('disabled', false); } }); }); </script>
</main> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <script> $(function(){ $('.radio-inline__input').on('change',function(){ $('.radio-inline__input:not(:checked)').prop('disabled',$('.radio-inline__input:checked').length>=2); }); }); $(function(){ //送信ボタンクリック時hedden項目のformをサブミットする $('.submit').on('click', function(e){ $('#mG61Hd').submit(); }); </script> </body> </html>

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

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

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

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

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

kei344

2021/02/03 05:00

質問タグに「Google Apps Script」を追加されてはいかがでしょう。
momokoko

2021/02/03 05:04

ありがとうございます。 修正しました。
guest

回答1

0

ベストアンサー

$(function(){ $('.radio-inline__input').on('change',function(){ $('.radio-inline__input:not(:checked)').prop('disabled',$('.radio-inline__input:checked').length>=2); }); });

投稿2021/02/03 03:33

yambejp

総合スコア116724

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

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

momokoko

2021/02/03 03:37

作成ありがとうございます。 うまく作動しませんでした。 ぼくの貼り付け場所が違っているかもしれないので、貼った場所も質問に追記しました。
momokoko

2021/02/03 03:53

サンプルでは動いていますね。。 自分の環境は、google App scriptでやっていまして、 ログを出してみると 「不明なエラーが発生しました。しばらくしてからもう一度お試しください。」 と出ていました。
yambejp

2021/02/03 04:09

GASは詳しくないのですがjQueryを排除したらいけますか? document.addEventListener('change',e=>{ if(e.target.classList.contains('radio-inline__input')){ var flg=document.querySelectorAll('.radio-inline__input:checked').length>=2; document.querySelectorAll('.radio-inline__input:not(:checked)').forEach(x=>{ x.disabled=flg; }); } });
momokoko

2021/02/03 04:52

</main> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <script> document.addEventListener('change',e=>{ if(e.target.classList.contains('radio-inline__input')){ var flg=document.querySelectorAll('.radio-inline__input:checked').length>=2; document.querySelectorAll('.radio-inline__input:not(:checked)').forEach(x=>{ x.disabled=flg; }); } });
momokoko

2021/02/03 04:52

このように貼り付けましたが、うまく動きませんでした。
yambejp

2021/02/03 04:53

で、エラーは?
momokoko

2021/02/03 05:19 編集

すみません、記載を忘れました。 不明なエラーが発生しました。しばらくしてからもう一度お試しください。 と出ました。 ただ、このコードをコメントアウトしても同様のエラーが出たのでもっと他の問題かもしれないです。 一旦、この質問は閉じさせて頂きます。
yambejp

2021/02/03 05:21

解決せずに閉じるときはご自身で状況をかいて 未解決のママ閉じて下さい
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問