閲覧ありがとうございます。
タイトル通り、チェックボックスを3つ以上チェックしたら「画像変更」したいのですが、
うまくいかず苦戦しています。
アドバイスいただけると嬉しいです。
【やりたいとこの詳細】
アンケート型LPで、用意したアンケートのチェックボックス3つをチェックしたら
キャンペーンのリンク先へ飛ばすということをしたく、下記の実装を希望しています。
1:画像の変更(無色からカラーのものへ)
2:リンク先の付与
2はうまくできました。
しかし1は、3つ以上チェックしたらカラーに変わりますが、
変更後にチェックを3以下にへらしても元の無色の画像に戻らないです。
下記の内容を修正、もしくは他のコードのアイディアがありましたら
ご指摘ください。
よろしくお願いいたします。
該当のソースコード
html
1<label><input type="checkbox" class="checkbox">チェックボックス1</label> 2<label><input type="checkbox" class="checkbox">チェックボックス1</label> 3<label><input type="checkbox" class="checkbox">チェックボックス1</label> 4<div id="btn"> 5 <img src="img/btn_off.png" alt=""> 6</div>
jquery
1$(function () { 2 3 $("input[type='checkbox']").on('change', function () { 4 5 $('#btn').each(function(){ 6 var src_off = $('#btn').find('img').attr('src'); 7 var src_on = src_off.replace('_off','_on'); 8 $('<img/btn_off.png>').attr('src', src_on); 9 10 //チェックされているチェックボックスの数が3つ以上 11 if ($(".checkbox:checked").length > 2) { 12 //ボタン有効 13 $('#btn').find('img').attr('src', src_on); 14 $('#btn').wrap( 15 $('<a></a>').attr({href:"https://www.google.com/?hl=ja",target:"_blank"}) 16 ); 17 } else { 18 //ボタン無効 19 $('#btn').find('img').attr('src', src_off); 20 $('#btn').unwrap(); 21 } 22 }); 23 24 }); 25 26});
補足情報(FW/ツールのバージョンなど)
jqueryバージョン 3.4.1
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/26 02:25
2020/11/26 10:11
2020/11/26 14:37