Javascript 如何使用数组jquery填充复选框

Javascript 如何使用数组jquery填充复选框,javascript,jquery,checkbox,Javascript,Jquery,Checkbox,关于如何用newArray[]中的值填充某些复选框,我遇到了一些问题。代码如下: Html: 全部的 男性 女性 年龄 分数 脚本: <script> //checkboxes var check_box_values = $('#myForm [type="checkbox"]:not(:checked)').map(function () { return parseInt(this.value); }).get(); (..

关于如何用
newArray[]
中的值填充某些复选框,我遇到了一些问题。代码如下:
Html:


全部的
男性
女性
年龄
分数
脚本:

<script>
    //checkboxes
    var check_box_values = $('#myForm [type="checkbox"]:not(:checked)').map(function () {
        return parseInt(this.value);
    }).get();

    (...)

    j = j + 1;

    //creating new button
    $("#save").append(
        $("<input type=button id=saved"+j+">").click(function() {
        (...)
        }).text("Chart"+j)
    );

    //change the checkboxes to new values from array
    var newArray = [];
    newArray[4] = check_box_values; //i want that to be [4]
    //click on new button
    $('#saved'+j).click(function() {
        $('#checkboxes').val(newArray[4]);
    });
</script>

//复选框
var check_box_values=$('#myForm[type=“checkbox”]:未(:选中)).map(函数(){
返回parseInt(this.value);
}).get();
(...)
j=j+1;
//创建新按钮
$(“#保存”)。追加(
$(“”)。单击(函数(){
(...)
}).文本(“图表”+j)
);
//将复选框更改为数组中的新值
var newArray=[];
newArray[4]=复选框值//我希望是[4]
//点击新建按钮
$(“#已保存”+j)。单击(函数(){
$('#复选框').val(newArray[4]);
});
这不起作用,错误似乎出现在
$('#复选框').val(newArray[4])。
我想要的是,复选框根据
newArray[4]的数据变成选中状态
例如,如果
newArray[4]=[2,3,4]


我不知道语法:s你能帮我吗?

我想这就是你想要实现的目标

这是现场直播

以下是使用jQuery的代码:

$(function(){

var $checkboxes = $('#checkboxes').find('input[type=checkbox]'),
    times = 0;

function checkBoxes() {
  var checked = [],
      unchecked = [];

    $checkboxes.each(function (index) {
        if ($(this).is(':checked')) {
          checked.push(index);
        } else {
          unchecked.push(index);
        }
    });

    $('#checkboxes').append('<a href="#" class="btn">Check boxes [' + checked.toString() + ']</a>')
      .find('a.btn:last')
      .data('check', checked)
      .on('click', function () {
          var data = $(this).data('check');
          console.log(data, $(this).index());

          $checkboxes.attr('checked', false);
          $checkboxes.each(function (index) {
            if (data.indexOf(index) >= 0) {
              $(this).attr('checked', true);
            }
          });
    });
}

setInterval(checkBoxes, 3000);
});
$(函数(){
var$checkbox=$('#checkbox').find('input[type=checkbox]'),
次数=0;
函数复选框(){
var checked=[],
未检查=[];
$复选框。每个(函数(索引){
如果($(this).is(':checked')){
选中。推送(索引);
}否则{
未选中。推送(索引);
}
});
$(“#复选框”)。附加(“”)
.find('a.btn:last')
.数据('检查',已检查)
.on('单击',函数(){
var data=$(this.data('check');
log(数据,$(this.index());
$checkbox.attr('checked',false);
$复选框。每个(函数(索引){
if(data.indexOf(index)>=0){
$(this.attr('checked',true);
}
});
});
}
设置间隔(复选框,3000);
});

未列出但很重要:对于这种布局,请使用样式化的无序列表,而不是表格。我不明白。在
复选框\u值中
只收集未选中复选框的复选框值,但现在通过此列表,您想确定要选中哪些复选框?那么您只想选中未选中的复选框?为什么不首先勾选所有复选框?@devnull69,你说得对。我可以勾选所有复选框,然后看看哪些是勾选的,哪些不是?什么?如果您选中所有复选框,则没有一个复选框未选中(即,所有复选框均已选中)。如果您已解决问题,请将解决方案作为答案发布。然后其他有类似问题的人都可以看到它是如何工作的。
$(function(){

var $checkboxes = $('#checkboxes').find('input[type=checkbox]'),
    times = 0;

function checkBoxes() {
  var checked = [],
      unchecked = [];

    $checkboxes.each(function (index) {
        if ($(this).is(':checked')) {
          checked.push(index);
        } else {
          unchecked.push(index);
        }
    });

    $('#checkboxes').append('<a href="#" class="btn">Check boxes [' + checked.toString() + ']</a>')
      .find('a.btn:last')
      .data('check', checked)
      .on('click', function () {
          var data = $(this).data('check');
          console.log(data, $(this).index());

          $checkboxes.attr('checked', false);
          $checkboxes.each(function (index) {
            if (data.indexOf(index) >= 0) {
              $(this).attr('checked', true);
            }
          });
    });
}

setInterval(checkBoxes, 3000);
});