Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.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,具体来说,我有一个3个单选按钮的范围,在5个复选框的范围之前,附加了一个计算器字段,根据选择的复选框数量给出不同的值 例如: 单选按钮:1 单选按钮:2 单选按钮:3 复选框:a 复选框:b 复选框:c 复选框:d 复选框:e 如果选中1-2个复选框,则每个复选框的值为50 如果选中3个复选框,则值为125 如果选中4个复选框,则值为155 如果选中5个(全部)复选框,则值为170 我已将此功能与此脚本正常配合使用: <script type="text/javascript">

具体来说,我有一个3个单选按钮的范围,在5个复选框的范围之前,附加了一个计算器字段,根据选择的复选框数量给出不同的值

例如:

单选按钮:1
单选按钮:2
单选按钮:3

复选框:a
复选框:b
复选框:c
复选框:d
复选框:e

  • 如果选中1-2个复选框,则每个复选框的值为50
  • 如果选中3个复选框,则值为125
  • 如果选中4个复选框,则值为155
  • 如果选中5个(全部)复选框,则值为170

我已将此功能与此脚本正常配合使用:

<script type="text/javascript">
jQuery(document).ready(function($){$('input[type="checkbox"]').on('change', function() {

    if($('input[type="checkbox"]:lt(5):checked').length == 1) {
        greeting = "50";
    } else if ($('input[type="checkbox"]:lt(5):checked').length == 2) {
      greeting = "100";
    } else if ($('input[type="checkbox"]:lt(5):checked').length == 3) {
       greeting = "125";
    } else if ($('input[type="checkbox"]:lt(5):checked').length == 4) {
        greeting = "155";
    } else if ($('input[type="checkbox"]:lt(5):checked').length == 5) {
greeting = "170";
    };

    document.getElementById("input_53_34").value = greeting;

});
});
</script>

jQuery(document).ready(函数($){$('input[type=“checkbox”]”)。on('change',function(){
if($('input[type=“checkbox”]:lt(5):已选中)。长度==1){
问候语=“50”;
}else if($('input[type=“checkbox”]:lt(5):已选中)。长度==2){
问候语=“100”;
}else if($('input[type=“checkbox”]:lt(5):已选中)。长度==3){
问候语=“125”;
}else if($('input[type=“checkbox”]:lt(5):已选中)。长度==4){
问候语=“155”;
}else if($('input[type=“checkbox”]:lt(5):已选中)。长度==5){
问候语=“170”;
};
document.getElementById(“input_53_34”)。值=问候语;
});
});
以下是我需要的,但我不确定实现的最佳方式:

  • 如果选择单选按钮1-将复选框字段视为正常
  • 如果选择单选按钮2-选中复选框a、b、c
  • 如果选择单选按钮3-选中复选框a、b、c、d、e(全部)
  • 如果复选框选择更改为数量(长度)2或4,则切换 返回单选按钮1
  • 如果复选框选择为a、b、c或全部,则切换到单选按钮2或3 分别
基本上,单选按钮2是3个特定的复选框(a、b、c),而单选按钮3是所有复选框

感谢TINYGIANT-
最接近工作状态-

如果使用大量连续的
语句,请使用

你必须从两个方向攻击它

使单选按钮影响复选框的步骤

  • 将单击处理程序附加到单选按钮
  • 重置所有复选框
  • 如果单击了第一个单选按钮,则不执行任何操作
  • 如果单击了第二个单选按钮,请选中第1、第2和第3个复选框
  • 如果单击了第三个单选按钮,请选中所有复选框
使复选框影响单选按钮

  • 将单击处理程序附加到复选框
  • 重置所有单选按钮
  • 如果选中了所有复选框,请选择第三个单选按钮
  • 如果选中了第1、第2和第3个复选框,请选择第2个单选按钮
  • 如果选中任何其他复选框组合,请选择第一个单选按钮
$('input[type=radio]')。单击(function(){
$('input[type=“checkbox”]”)。prop('checked',false);
开关(此值){
案例“2”:
$('input[type=checkbox]:第n个子项(1),input[type=checkbox]:第n个子项(2),input[type=checkbox]:第n个子项(3)')。prop('checked',true);
打破
案例“3”:
$('input[type=checkbox]')。prop('checked',true);
打破
}
});
$('input[type=checkbox]')。更改(函数(){
var checked=$('input[type=checkbox]:checked');
$('input[type=radio]')。prop('checked',false);
console.log($('input[type=checkbox][value=1]:checked').length);
如果(选中。长度===5){
$('input[type=radio][value=3]')。prop('checked',true);
}else if($('input[type=checkbox][value=1]:checked')。长度
&&$('input[type=checkbox][value=2]:checked')。长度
&&$('input[type=checkbox][value=3]:checked')。长度
&&!$('input[type=checkbox][value=4]:checked')。长度){
$('input[type=radio][value=2]')。prop('checked',true);
}否则{
$('input[type=radio][value=1]')。prop('checked',true);
}
});