Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.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 选中所有复选框,并将复选框的值设置为“on”jquery_Javascript_Jquery_Html_Checkbox - Fatal编程技术网

Javascript 选中所有复选框,并将复选框的值设置为“on”jquery

Javascript 选中所有复选框,并将复选框的值设置为“on”jquery,javascript,jquery,html,checkbox,Javascript,Jquery,Html,Checkbox,是我从3个复选框中选择的小提琴。我想让选中复选框的值处于打开状态,而未选中复选框的值处于关闭状态。我将默认值写入off,并尝试将checked的值更改为on。欢迎任何建议问题是如果$input[name='resolution[]']:选中{,$input[name='resolution[]']:选中将返回一个jQuery对象,该对象将包含名称分辨率为[]的所有选中复选框 你需要 $('#res').click(function () { var resolutiontemp = {}

是我从3个复选框中选择的小提琴。我想让选中复选框的值处于打开状态,而未选中复选框的值处于关闭状态。我将默认值写入off,并尝试将checked的值更改为on。欢迎任何建议

问题是如果$input[name='resolution[]']:选中{,$input[name='resolution[]']:选中将返回一个jQuery对象,该对象将包含名称分辨率为[]的所有选中复选框

你需要

$('#res').click(function () {
    var resolutiontemp = {};
    var resolution = [];
    $("input[name='resolution[]']").each(function () {
        this.value = this.checked ? 'on' : 'off';
        var resolution = $(this).parent().find('span').text();
        resolutiontemp[resolution] = this.value;
    })
    resolution.push(resolutiontemp);
    console.log(JSON.stringify(resolution));
});
演示:

问题是如果$input[name='resolution[]']:选中{,$input[name='resolution[]']:选中将返回一个jQuery对象,该对象将包含名称分辨率为[]的所有选中复选框

你需要

$('#res').click(function () {
    var resolutiontemp = {};
    var resolution = [];
    $("input[name='resolution[]']").each(function () {
        this.value = this.checked ? 'on' : 'off';
        var resolution = $(this).parent().find('span').text();
        resolutiontemp[resolution] = this.value;
    })
    resolution.push(resolutiontemp);
    console.log(JSON.stringify(resolution));
});

演示:

使用下面的代码片段来实现预期的结果

HTML


使用下面的代码片段来实现预期的结果

HTML


我只有一个问题,为什么条件if会返回第一个元素的状态,如果我在each函数中有它的话?我只是想知道为什么我不会提交相同的条件mistake@HogRider请参阅每个循环中的更新…您需要使用它来引用当前element@HogRider此外,您可能真的不必更新复选框值-让我检查一下最新的提琴,如果我有问题,我会尽快提出,我只有一个问题,为什么条件如果返回第一个元素的状态,如果我在每个函数中都有它?只是想知道,所以我不会提交相同的mistake@HogRider请参阅每个循环中的更新…您需要使用它来引用当前element@HogRider你也可以真的您不必更新复选框值-让我检查最新的小提琴,如果我有问题,我会尽快提出,请在问题中包含相关代码,或者最好还是使用StackOverflow的代码片段功能,即编辑器中的按钮。将来请在问题中包含相关代码,或者更好仍然使用StackOverflow的代码段功能,即编辑器中的按钮。
$('#selectall').click(function(event) {  //on click 
    var resolutiontemp = {},resolution = [];
    if(this.checked) { 
        $("input[name='resolution[]'").each(function() { 
            this.checked = true;
            $(this).prop('value','on');
            var resolutionval = $(this).val();
            var resolution = $(this).parent().find('span').text();
            resolutiontemp[resolution] = resolutionval;
        });
    }else{
        $("input[name='resolution[]'").each(function() { 
            this.checked = false;
            $(this).prop('value','off');
            var resolutionval = $(this).val();
            var resolution = $(this).parent().find('span').text();
            resolutiontemp[resolution] = resolutionval;
        });         
    }
    resolution.push(resolutiontemp);
    console.log(JSON.stringify(resolution));
});