js 限定复选框最多只能勾选2个,至少勾选1个
答案:4 悬赏:70 手机版
解决时间 2021-03-23 23:55
- 提问者网友:姑娘长的好罪过
- 2021-03-23 06:52
js 限定复选框最多只能勾选2个,至少勾选1个
最佳答案
- 五星知识达人网友:迷人又混蛋
- 2021-03-23 07:04
百度hi"TROREN"
demo
全部回答
- 1楼网友:神鬼未生
- 2021-03-23 08:58
试下追问不行哦。追答不行 ? 你把我的代码拷贝过去试了吗追问我试过了,兄弟,不信你自己试试。你取消的顺序是不对的。比如你勾中最后两个,然后取消倒数第二个,去勾别的选项,是不是最后一项永远都是勾中的?
- 2楼网友:等灯
- 2021-03-23 08:41
var opts = new Array();
function addOpts(opt){
if(opts.length<2){
opts.push(opt);
return;
}
opts[0] = opts[1];
opts[1] = opt;
}
function checkedOpts(){
$(":checkbox[name='chRates']").attr("checked", false);//全部取消选中
for(var i=0;i $(opts[i]).attr("checked", true);//选中,忘了选中怎么弄了..
}
}
$(function(){
$(":checkbox[name='chRates']").bind("click",function(){
addOpts(this);
checkedOpts();
})
});
至于至少选中一个,在提交表单的时候检查下就行了。
没得调试,手打痛苦...应该有很多错,大致就是这个思路:把数组弄成一个长度为2的队列,
只选中队列中的checkbox,第三个选中的时候把第一个排除掉队列。追问呵呵,非常感谢您的回答。其实我这里有好几个方法的,只是都有一点点bug需要调整,您给出的这种方案不完整哦。
function addOpts(opt){
if(opts.length<2){
opts.push(opt);
return;
}
opts[0] = opts[1];
opts[1] = opt;
}
function checkedOpts(){
$(":checkbox[name='chRates']").attr("checked", false);//全部取消选中
for(var i=0;i
}
}
$(function(){
$(":checkbox[name='chRates']").bind("click",function(){
addOpts(this);
checkedOpts();
})
});
至于至少选中一个,在提交表单的时候检查下就行了。
没得调试,手打痛苦...应该有很多错,大致就是这个思路:把数组弄成一个长度为2的队列,
只选中队列中的checkbox,第三个选中的时候把第一个排除掉队列。追问呵呵,非常感谢您的回答。其实我这里有好几个方法的,只是都有一点点bug需要调整,您给出的这种方案不完整哦。
- 3楼网友:第幾種人
- 2021-03-23 08:21
var checkArr = new Array();
checkArr.push("chRates_1");
checkArr.push("chRates_2");
function check_count(obj){
alert(obj.checked);
if(obj.checked){
if(checkArr.length>=2){
var firstObj = document.getElementById(checkArr.shift());
firstObj.checked=false;
}
checkArr.push(obj.id);
}else{
delArr(checkArr,obj.id);
}
}
function delArr(arrayparam,value){
for(var i=0;i var oneValue=arrayparam[i];
if(oneValue==value){
arr.splice(i,i);
}
}
}追问这位兄弟给出的答案还是有一点bug哦。
checkArr.push("chRates_1");
checkArr.push("chRates_2");
function check_count(obj){
alert(obj.checked);
if(obj.checked){
if(checkArr.length>=2){
var firstObj = document.getElementById(checkArr.shift());
firstObj.checked=false;
}
checkArr.push(obj.id);
}else{
delArr(checkArr,obj.id);
}
}
function delArr(arrayparam,value){
for(var i=0;i var oneValue=arrayparam[i];
if(oneValue==value){
arr.splice(i,i);
}
}
}追问这位兄弟给出的答案还是有一点bug哦。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯