Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.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,因此,我有两个复选框,当分别单击时,将使底部部分成为必需的-我如何使最后一部分是必需的,当这两个都选中时?我似乎不知道该怎么做 概述: 当两个复选标记都选中时,将“我确认…”部分设置为红色(必需) #rtd3Transaction是“我的交易数据”。 .rtdConfirm是上一节中的类 代码: /* Make checkbox textboxes not required unless checked */ $(document).ready(function() { $('#rtd

因此,我有两个复选框,当分别单击时,将使底部部分成为必需的-我如何使最后一部分是必需的,当这两个都选中时?我似乎不知道该怎么做

概述
当两个复选标记都选中时,将“我确认…”部分设置为红色(必需)

#rtd3Transaction
是“我的交易数据”。
.rtdConfirm
是上一节中的类

代码

/* Make checkbox textboxes not required unless checked */
$(document).ready(function() {
    $('#rtd3Transaction').change(function() {
        if ($('.rtdConfirm').attr('required')) {
            $('.rtdConfirm').removeAttr('required');
        }
        else {
            $('.rtdConfirm').attr('required','required');
        }
    });
});

$(document).ready(function() {
    $('#rtd3Device').change(function() {
        if ($('.rtdConfirm').attr('required')) {
            $('.rtdConfirm').removeAttr('required');
        }
        else {
            $('.rtdConfirm').attr('required','required');
        }
    });
});

哈哈,我不是说过只使用一个
$(document).ready()
函数吗

无论如何,只需将这两个条件组合成第三个
change
函数

/* Make checkbox textboxes not required unless checked */
$(document).ready(function() {
    $('#rtd3Transaction').change(function() {
        if ($('.rtdConfirm').attr('required')) {
            $('.rtdConfirm').removeAttr('required');
        }
        else {
            $('.rtdConfirm').attr('required','required');
        }
    });

    $('#rtd3Device').change(function() {
        if ($('.rtdConfirm').attr('required')) {
            $('.rtdConfirm').removeAttr('required');
        }
        else {
            $('.rtdConfirm').attr('required','required');
        }
    });

    $('#rtd3Transaction, #rtd3Device').change(function() {
        if ($('#rtd3Transaction').checked && $('#rtd3Transaction').checked) {
            $('.rtdConfirm').attr('required','required');
        }
        else {
            $('.rtdConfirm').removeAttr('required');
        }
    });
});

如果这不起作用,请发布其余的代码,我会看看我能做些什么。

在JS中,您可以在包含复选框的父项上使用
onchange
事件,最好是一个表单,并检查两个复选框是否都已选中,如果它们确实将第三个复选框设置为
必需的

const rtd3Transaction = document.querySelector('#rtd3Transaction');
const rtd3Device = document.querySelector('#rtd3Device');
const rtdConfirm = document.querySelector('#rtdConfirm');

document.querySelector('form').addEventListener('change', ()=> {
  if(rtd3Transaction.checked && rtd3Device.checked) {
    rtdConfirm.required = true;
  }
})

我看到您正在使用jQuery,所以这里有一个基于jQuery的解决方案

首先,您可以为两个输入组合更改事件处理程序

其次,您可以使用.prop(“checked”)查找复选框的选中状态

最后,使用.prop(“required”,true/false)设置上一个复选框的所需状态

我是这样做的:

$(document).ready(function()
{
    $("#rtd3Transaction, #rtd3Device").change(function()
    {
        var required = $("#rtd3Transaction").prop("checked") && $("#rtd3Device").prop("checked");
        $(".rtdConfirm").prop("required", required);
    });
});

这回答了你的问题吗?您能否也包括
HTML
部分?谢谢我已经完成了部分,当它检查是否在某个部分上选中时-只是想看看是否有可能查看两者是否可以同时进行。让我们看看你已经完成的部分。你希望单击两个父复选框(事务数据和设备信息)中的任何一个如何影响以前激活的子项(红色确认)?请你把问题说清楚一点好吗。