根据checkbox选中:单选 多选 全选事件,依次改变img src
需求是:
1、单选:当选中#lightyon 或 #tabletyon 或 #microyon 时,#laptop-img会改变对应的src;
2、多选:当选中三个checkbox中的两个,#laptop-img会改变对应的src;
3、全选:当选中全部三个checkbox,#laptop-img会改变对应的src;
<div class="slidebox" id="step2-laptop" style="">
<div class="slidebox-left">
"https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fi2.article.fd.zol-img.com.cn%2Fg5%2FM00%2F02%2F08%2FChMkJllcdYqIbOEXAACg2doBw50AAeFhwLKPX4AAKDx352.jpg&refer=http%3A%2F%2Fi2.article.fd.zol-img.com.cn&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1665810856&t=8f121eac2d60e998b2990deae8126dbf" class="accessories-img ls-is-cached lazyloaded" id="laptop-img">
div>
div>
<script>
function light() {
$('#laptop-img').attr("src", "https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fwww.3dsc.com%2Fuploadfile%2F2021%2F0122%2F20210122084642551.png&refer=http%3A%2F%2Fwww.3dsc.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1665810876&t=f61cddf5fa6952b6adb7d39073d77fac");
}
script>
7种组合checkbox的value组合需要的图片放键值对里面,示例如下
<div class="slidebox" id="step2-laptop" style="">
<div class="slidebox-left">
<img src="https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fi2.article.fd.zol-img.com.cn%2Fg5%2FM00%2F02%2F08%2FChMkJllcdYqIbOEXAACg2doBw50AAeFhwLKPX4AAKDx352.jpg&refer=http%3A%2F%2Fi2.article.fd.zol-img.com.cn&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1665810856&t=8f121eac2d60e998b2990deae8126dbf" class="accessories-img ls-is-cached lazyloaded" id="laptop-img">
</div>
<form id="option-laptop" class="slidebox-right">
<input type="checkbox" name="yon" id="lightyon" class="optioninput" value="light" onclick="setSrc()">
<input type="checkbox" name="yon" id="tabletyon" class="optioninput" value="tablet" onclick="setSrc()">
<input type="checkbox" name="yon" id="microyon" class="optioninput" value="micro" onclick="setSrc()">
</form>
</div>
<script src="https://g.csdnimg.cn/??lib/jquery/1.12.4/jquery.min.js"></script>
<script>
//7种组合checkbox的value组合需要的图片放这里面,其他6张从jd随机搞来的,自己改下
//注意键名称组合时value出现循序不能反
var kvImgSrc = {
light: 'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fwww.3dsc.com%2Fuploadfile%2F2021%2F0122%2F20210122084642551.png&refer=http%3A%2F%2Fwww.3dsc.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1665810876&t=f61cddf5fa6952b6adb7d39073d77fac',
tablet: 'https://img10.360buyimg.com/seckillcms/s140x140_jfs/t1/15577/37/17912/100093/631b1172Edccc6525/c72a9085c975e1fc.png.avif',
micro: 'https://img20.360buyimg.com/seckillcms/s140x140_jfs/t1/98606/5/20394/512369/61e63435E84e43efa/093cb1b61bff97b1.jpg.avif',
lighttablet: 'https://img13.360buyimg.com/seckillcms/s140x140_jfs/t1/104950/14/24629/127412/623455e4E3475f201/a78dcd536ce65206.jpg.avif',
lighttabletmicro:'https://img20.360buyimg.com/seckillcms/s140x140_jfs/t1/108823/28/33206/15962/631fe583Ee4a150a2/06dab3a93953b865.jpg.avif',
lightmicro: 'https://img30.360buyimg.com/seckillcms/s130x130_jfs/t1/104754/12/31773/112873/62e268acE8b5c2afa/c72d1bcb6a5083ae.jpg.avif',
tabletmicro: 'https://img14.360buyimg.com/ceco/s150x150_jfs/t1/159722/38/5682/268261/601a43e3E78cbacb6/60bdf8c1c170c8ae.jpg!q70.jpg.avif',
//都不选时默认显示的图片
'':'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fi2.article.fd.zol-img.com.cn%2Fg5%2FM00%2F02%2F08%2FChMkJllcdYqIbOEXAACg2doBw50AAeFhwLKPX4AAKDx352.jpg&refer=http%3A%2F%2Fi2.article.fd.zol-img.com.cn&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1665810856&t=8f121eac2d60e998b2990deae8126dbf'
}
function setSrc() {
var key = $('#option-laptop :checkbox:checked').map(function () { return this.value }).get().join('');//得到键
$('#laptop-img').attr("src", kvImgSrc[key]);
}
</script>
参考如下,7种改变:
var str_key='';//选中的值
var all_arr=['light':'1.jpg','tablet':'2.jpg','micro':'3.jpg','light_tablet':'4.jpg','light_micro':'25jpg','tablet_micro':'6.jpg','light_tablet_micro':'7.jpg'];//全部值
$("input[name='yon']").each(function(){
if($(this).attr("checked")){
str_key=(str_key!='')? str_key+'_'+$(this).val():$(this).val();
}
})
})
if(str_key!=''){//
$('#laptop-img').attr("src",all_arr[str_key]);
}
改变的都是id="laptop-img"吗?
$('input[type=checkbox]').click(function(){
var len=$("input[name='yon']:checked").length;
alert("多选框选中个数:"+len);
});
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!