Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当选中一个切换开关时,如何取消选中所有切换开关?_Javascript_Jquery - Fatal编程技术网

Javascript 当选中一个切换开关时,如何取消选中所有切换开关?

Javascript 当选中一个切换开关时,如何取消选中所有切换开关?,javascript,jquery,Javascript,Jquery,当我检查其中一个切换开关时,有人能告诉我如何将其他切换开关更改为未选中状态吗。我可以使用复选框,但我发现使用Javascript切换开关非常棘手 if (this.checked) { $(":checkbox[value=switch-intermediate]").removeAttr("checked", null); $(":checkbox[value=switch-expert]").removeAttr("Checked",n

当我检查其中一个切换开关时,有人能告诉我如何将其他切换开关更改为未选中状态吗。我可以使用复选框,但我发现使用Javascript切换开关非常棘手

        if (this.checked) {
          $(":checkbox[value=switch-intermediate]").removeAttr("checked", null);
          $(":checkbox[value=switch-expert]").removeAttr("Checked",null);
        }

我上面的代码可以使用复选框,但不能使用切换开关。我确实在网上看到了slack overflow的其他一些例子,比如: 但当我遵循它时,它仍然不起作用。谢谢大家!


[jfiddle]()

带有简单的
change
事件和
。不是(这个)

  • 通过使用
    $(“.switch:not([checked])”
    无需检查
    if(this.checked)
  • 要更改选中/未选中的
    请使用
    .prop(“选中”,真/假)
  • 若要防止未选中此复选框,其他人请使用
    。而不是(此)
$(“.switch:not([checked])).on('change',function(){
$(“.switch”).not(this).prop(“checked”,false);
});
。开关标签{
位置:相对位置;
显示:内联块;
宽度:60px;
高度:34px;
}
.开关输入{
不透明度:0;
宽度:0;
身高:0;
}
.滑块{
位置:绝对位置;
光标:指针;
排名:0;
左:0;
右:0;
底部:0;
背景色:#ccc;
-webkit转换:0.4s;
过渡:0.4s;
}
.滑块:之前{
位置:绝对位置;
内容:“;
高度:26px;
宽度:26px;
左:4px;
底部:4px;
背景色:白色;
-webkit转换:0.4s;
过渡:0.4s;
}
输入:选中+滑块{
背景色:#5c13ec;
}
输入:焦点+.滑块{
盒影:0 1px#5c13ec;
}
输入:选中+。滑块:之前{
-webkit转换:translateX(26px);
-ms变换:translateX(26px);
转化:translateX(26px);
}
/*圆形滑块*/
.圆滑{
边界半径:34px;
}
.滑块.圆形:之前{
边界半径:50%;
}

新手
中间的
专家

将输入从复选框更改为单选按钮,并在每个单选按钮上添加一个
name=“something”
,在所有相关按钮上使用相同的“something”名称

基本上,每个输入都会因此而改变

<input class="switch" id="switch-novice"
       value="switch-novice" type="checkbox" />

对此

<input class="switch" id="switch-novice"
       value="switch-novice" type="radio" name="switch-choice" />


我已更新您的

声明当前复选框,
let selected=this
然后在if语句中进行选择,但也要选择
。not()
包含所选复选框<代码>$(“:复选框[value=switch intermediate],:复选框[value=switch expert]”)。未选中。删除TTR(“选中”,空)---我尝试了你的方法,它仍然不起作用。这就是我所尝试的-谢谢@codennija你完全受欢迎。。另外,如果您有更多的
,请在其他位置切换
。。您可以使用
$(this).parent().find('.switch')。而不是(this)…
。。祝你今天愉快:)NVM@CodeNinja不客气。。但是你需要知道,并不是所有的演示都能在真正的网站上运行,然后你可以和发布答案并寻求帮助的人交谈。。简单和容易;)。。祝你度过愉快的一天:-)@codennija为
.parent()
感到抱歉,应该是
.closest()
。。请参见我的更新答案和示例