js中全选if判断为什么只进if,而不进else

functionCheck(){variSelect=true;varinput=document.getElementsByTagName("input");if(iS... function Check() {
var iSelect=true;
var input=document.getElementsByTagName("input");
if(iSelect==true){
for(var i=0;i<input.length;i++){
input[i].checked=true;
}
iSelect=false;
}else if(iSelect==false){
alert(2)
for(var i=0;i<input.length;i++){
input[i].checked=false;
}
iSelect=true;
}
}
展开
 我来答
网海1书生
科技发烧友

2018-08-02 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26231

向TA提问 私信TA
展开全部
var iSelect=true;  //此变量应设为全局的!
function Check() {
    var input=document.getElementsByTagName("input");
    if(iSelect){   //请注意逻辑表达式的用法,无须画蛇添足
        for(var i=0;i<input.length;i++){
            input[i].checked=true;
        }
        iSelect=false;
    }else{  //这里也留意一下
        alert(2)
        for(var i=0;i<input.length;i++){
            input[i].checked=false;
        }
        iSelect=true;
    }
}
追问
谢谢,这个已经解决。求大神指导,接着我的方法怎么完成一个反选,就是只要有一个没选中,全选按钮也就不选中了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
嘎灵中玩尚之昵0o
2018-08-02
知道答主
回答量:6
采纳率:50%
帮助的人:1.8万
展开全部
函数一进来首先声明了变量i iSelect=true;所以在接下来的判断中当然是只进入if,不进入else if啦
追问
那我应该怎么完成这个全选功能,新手,求大神指导
追答
贴上你的代码。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
方范贺高
2018-08-02 · TA获得超过168个赞
知道小有建树答主
回答量:248
采纳率:40%
帮助的人:49.4万
展开全部
应该把var 放在外面,不能放在调用的函数里面。因为你每次进入这个方法的时候你都重新var iSelect=true了,所以每次调用这个方法时,执行到if那里iSelect都是true;
追问
非常感谢,已经解决,谢谢谢谢
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式