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);
});