![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
求javascript checkbox 选中事件代码,通过js实现单选功能。
假设12345个选项。2345隐藏。当1被选择或取消时,2345显示或隐藏。2345之间不能同时被选择。实现以上用value值。<li><span><inputname=...
假设12345个选项。
2345隐藏。
当1被选择或取消时,2345显示或隐藏。
2345之间不能同时被选择。
实现以上用value值。
<li><span><input name="after" type="checkbox" value="3073*骑马钉*5"> 骑马钉</span><div class="value">骑马钉</div></li><li><span><input name="after" type="checkbox" value="3140*压痕*3"> 压痕</span><div class="value">压痕</div></li><li><span><input name="after" type="checkbox" value="3071*单面亮膜*3"> 单面亮膜</span><div class="value">单面亮膜</div></li><li><span><input name="after" type="checkbox" value="3076*单面哑膜*3"> 单面哑膜</span><div class="value">单面哑膜</div></li><li><span><input name="after" type="checkbox" value="3145*双面亮膜*3"> 双面亮膜</span><div class="value">双面亮膜</div></li><li><span><input name="after" type="checkbox" value="3146*双面哑膜*3"> 双面哑膜</span><div class="value">双面哑膜</div></li><li><span><input name="after" type="checkbox" value="3141*胶装*2"> 胶装</span><div class="value">胶装</div></li><li><span><input name="after" type="checkbox" value="3143*折页配页*5"> 折页配页</span><div class="value">折页配页</div></li><li><span><input name="after" type="checkbox" value="3142*上胶封皮*1"> 上胶封皮</span><div class="value">上胶封皮</div></li><li><span><input name="after" type="checkbox" value="3144*锁线*0"> 锁线</span><div class="value">锁线</div></li>
在不改变前台代码的前提下,通过js实现下拉单选。
假设,12345,五个选项。2345隐藏,最好是变成下拉复选框。
当1被选择或取消时,2345显示或隐藏,并默认选择2。
2345之间则是只能选一个,选中一个,其他三项如果被选择则取消。 展开
2345隐藏。
当1被选择或取消时,2345显示或隐藏。
2345之间不能同时被选择。
实现以上用value值。
<li><span><input name="after" type="checkbox" value="3073*骑马钉*5"> 骑马钉</span><div class="value">骑马钉</div></li><li><span><input name="after" type="checkbox" value="3140*压痕*3"> 压痕</span><div class="value">压痕</div></li><li><span><input name="after" type="checkbox" value="3071*单面亮膜*3"> 单面亮膜</span><div class="value">单面亮膜</div></li><li><span><input name="after" type="checkbox" value="3076*单面哑膜*3"> 单面哑膜</span><div class="value">单面哑膜</div></li><li><span><input name="after" type="checkbox" value="3145*双面亮膜*3"> 双面亮膜</span><div class="value">双面亮膜</div></li><li><span><input name="after" type="checkbox" value="3146*双面哑膜*3"> 双面哑膜</span><div class="value">双面哑膜</div></li><li><span><input name="after" type="checkbox" value="3141*胶装*2"> 胶装</span><div class="value">胶装</div></li><li><span><input name="after" type="checkbox" value="3143*折页配页*5"> 折页配页</span><div class="value">折页配页</div></li><li><span><input name="after" type="checkbox" value="3142*上胶封皮*1"> 上胶封皮</span><div class="value">上胶封皮</div></li><li><span><input name="after" type="checkbox" value="3144*锁线*0"> 锁线</span><div class="value">锁线</div></li>
在不改变前台代码的前提下,通过js实现下拉单选。
假设,12345,五个选项。2345隐藏,最好是变成下拉复选框。
当1被选择或取消时,2345显示或隐藏,并默认选择2。
2345之间则是只能选一个,选中一个,其他三项如果被选择则取消。 展开
2个回答
展开全部
var mo=document.createElement('li');
mo.innerHTML='<span><input type="checkbox" id="mo" onchange="Activefumo(this)">封面覆膜</span><div id="mobox" class="value" style="display:none"><select id="movalue" onchange="fumo(this.value)"><option selected value="封面覆膜">封面覆膜</option><option value="单面亮膜">单面亮膜</option><option value="双面亮膜">双面亮膜</option><option value="单面哑膜">单面哑膜</option><option value="双面哑膜">双面哑膜</option></select></div>';
document.getElementsByClassName('items_list')[0].appendChild(mo);
var items_list=document.getElementsByName('after');
for(i in items_list)
{
if(/上胶封皮|胶装|[单双]面[亮哑]膜/.test(items_list[i].value)) {
items_list[i].disabled=true; //禁止操作
//items_list[i].parentNode.parentNode.style.display='none'; //隐藏
}
items_list[i].addEventListener('click',function(){
if(/锁线/.test(this.value)){
for(i in items_list){
if(/(上胶封皮|胶装)/.test(items_list[i].value)){
items_list[i].checked=this.checked;
}
if(/折页配页/.test(items_list[i].value)) items_list[i].checked=false;
}
}
if(/折页配页/.test(this.value)){
for(i in items_list){
if(/(胶装|上胶封皮|折页配页)/.test(items_list[i].value)){
items_list[i].checked=this.checked;
}
if(/锁线/.test(items_list[i].value)) items_list[i].checked=false;
}
}
})
}
function Activefumo(obj){
var fmv=document.getElementById('movalue');
document.getElementById('mobox').style.display=obj.checked==true?'block':'none',fmv.selectedIndex=0,fumo(fmv);
}
function fumo(obj){
for(i in items_list)
{
if(/[单双]面[亮哑]膜/.test(items_list[i].value)) {
if(items_list[i].value.search(obj)>-1) {
console.log(items_list[i].value,obj);
items_list[i].checked=true;
}
else {
items_list[i].checked=false;
}
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询