前提・実現したいこと
まずは閲覧して下さりありがとうございます!
初質問で恐縮ですがjQueryについて少しつまずいているのでどなたかご教示頂けると幸いです泣
実装内容として、チェック(チェックボックス+ラジオボタン)が全てチェックされるとボタンが活性化しクリック出来るようになると言った感じです。
発生している問題
3つのチェックボックス+2つのURLに付随したラジオボタンを全て普通にクリックすると活性化はするのですが、
・URLの横に付随するラジオボタンを非表示にしてURL先へ別タブ遷移した時
上記チェックはつくのですがクリック判定?がついていないのか上手くJSが反応してくれません。
表示にした状態で普通にチェックボックスとラジオボタンをクリックすると反応してくれます。
<div class="agree_buttonArea"> <p><input type="checkbox" name="ag" value="1"> 注意事項1</p> <p><input type="checkbox" name="ag" value="2"> 注意事項2</p> <p><input type="checkbox" name="ag" value="3"> 注意事項3</p> <p class="url_check"> <input type="radio" name="check1"><a href="http://www.sample.url1" value="4" target="_blank" hidden>http://www.sample.url1</a> </p> <p class="url_check"> <input type="radio" name="check2"><a href="http://www.sample.url2" value="5" target="_blank" hidden>http://www.sample.url2</a> </p> </div> <!--ボタン--> <div class="bg_btn"> <p class="btn"> <a href="https://dummy" class="disabled">次画面へ</a> </p> </div> <!--END-->
URLリンククリック時ラジオボタンへチェック
//URLリンククリック時ラジオボタンへチェック function urllockingCheck(){ $('.url_check a').click(function() { $(this).closest(".url_check").find("input[name='check1'],input[name='check2']").prop('checked',true); }); }
チェックボックス全選択&リンク全閲覧の時のみ次ページへの遷移ボタン活性化
//チェックボックス全選択&リンク全閲覧の時のみ次ページへの遷移ボタン活性化 function btnActiveCheck(){ const $button = $(".bg_btn .disabled"); const $check = $(".agree_buttonArea input"); $check.click(function(){ $button.removeClass("disabled"); if($(".agree_buttonArea input:not(:checked)").length !== 0){ $button.addClass("disabled"); } }); }
補足情報(FW/ツールのバージョンなど)
・jquery1.10.2です
・ページ再ロード時にも状態を確認してボタンの活性化有無をしたいです。(onLoadかdocument?を使うかで悩んでいます)
・関係ないとは思いますがdisabledに対して色の変化とevent無効のCSSをつけています。
回答1件
あなたの回答
tips
プレビュー