Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.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_Html_Arrays_Checkbox - Fatal编程技术网

通过在JavaScript中检索复选框的值来自动选择复选框

通过在JavaScript中检索复选框的值来自动选择复选框,javascript,jquery,html,arrays,checkbox,Javascript,Jquery,Html,Arrays,Checkbox,自从1周以来,我在一个点上遇到了一些困难,我有2个数组,我想通过检索其中一个数组中的值来自动选择复选框 首先,我有一个循环,它根据第一个数组选项[]创建一些复选框 每次我选中一个复选框,一个文本字段就会用分隔符更新。“$#” 我自己保存这个文本字段。但现在我有了一个数组,其中一些值作为字符串目标[] 我想自动选择其值位于数组目标[]内的复选框。因此,如果我在target[]中更改了一个值,并刷新了该值,那么相关的复选框将被自动选中 下面是一个片段,看看它现在是什么样子。请更新它来回答 我更喜欢J

自从1周以来,我在一个点上遇到了一些困难,我有2个数组,我想通过检索其中一个数组中的值来自动选择复选框

首先,我有一个循环,它根据第一个数组选项[]创建一些复选框

每次我选中一个复选框,一个文本字段就会用分隔符更新。“$#”

我自己保存这个文本字段。但现在我有了一个数组,其中一些值作为字符串目标[]

我想自动选择其值位于数组目标[]内的复选框。因此,如果我在target[]中更改了一个值,并刷新了该值,那么相关的复选框将被自动选中

下面是一个片段,看看它现在是什么样子。请更新它来回答

我更喜欢JavaScript,但如果你有Jquery就可以了

//选项数组
var choices=新数组();
选项[0]=“一月”;
选择[1]=“二月”;
选择[2]=“三月”;
选择[3]=“四月”;
选择[4]=“可能”;
选择[5]=“朱尼”;
选择[6]=“7月”;
选择[7]=“八月”;
选择[8]=“9月”;
选择[9]=“10月”;
选择[10]=“11月”;
选择[11]=“12月”;
var target=新数组()
目标[0]=“3”;
目标[1]=“8”;
var cbh=document.getElementById('checkbox');
var-val='';
var cap=“”;
var j=“”;
var t=document.getElementById('t');
//循环正在创建带有名称、值。。。
for(选项中的var i){
//复选框的名称是它们的编号,因此我将I转换为字符串。
j=i.toString();
val=j;
//cap将是选项的值/文本[i]
var cb=document.createElement('input');
var label=document.createElement(“标签”);
cap=选择[i];
var text=document.createTextNode(cap);
cb.type='复选框';
儿童(cb);
cb.name=cap;
cb.value=val;
标签。附属物(cb);
label.appendChild(文本);
cbh.appendChild(标签);
cb.addEventListener('click',updateText)
}
函数updateText(){
t、 value=[null,…document.querySelectorAll('#checkbox[type=“checkbox”]”)reduce((s,el)=>el和el.checked?s=(s | |?'')+el.value+'$#':s | |')
}
*{
框大小:边框框;
}
#资料{
填充物:5px;
宽度:100vw;
}
.多选{
溢出:可见;
填充:0;
左侧填充:1px;
边界:无;
背景色:#eee;
宽度:100vw;
空白:正常;
高度:75px;
}
.复选框{
高度:100px;
宽度:100px;
边框:1px实心#000;
背景色:白色;
左边距:-1px;
显示:内联块;
}
标签{
显示:内联块;
边框:1px灰色实心;
填充物:5px;
}

选择
target[]中给出的复选框id
使用

if(target.indexOf(i)>=0){
        cb.checked =true ;
      }
这将在调用后将checked属性设置为
目标[]
内的chekbox

updateText(); 
这将更新文本框内的值

//选项数组
var choices=新数组();
选项[0]=“一月”;
选择[1]=“二月”;
选择[2]=“三月”;
选择[3]=“四月”;
选择[4]=“可能”;
选择[5]=“朱尼”;
选择[6]=“7月”;
选择[7]=“八月”;
选择[8]=“9月”;
选择[9]=“10月”;
选择[10]=“11月”;
选择[11]=“12月”;
var target=新数组()
目标[0]=“3”;
目标[1]=“8”;
var cbh=document.getElementById('checkbox');
var-val='';
var cap=“”;
var j=“”;
var t=document.getElementById('t');
//循环正在创建带有名称、值。。。
for(选项中的var i){
//复选框的名称是它们的编号,因此我将I转换为字符串。
j=i.toString();
val=j;
//cap将是选项的值/文本[i]
var cb=document.createElement('input');
var label=document.createElement(“标签”);
cap=选择[i];
var text=document.createTextNode(cap);
cb.type='复选框';
儿童(cb);
cb.name=cap;
cb.value=val;
标签。附属物(cb);
label.appendChild(文本);
cbh.appendChild(标签);
cb.addEventListener('click',updateText)
如果(目标指数f(i)>=0){
cb.checked=true;
}
}
updateText();
函数updateText(){
t、 value=[null,…document.querySelectorAll('#checkbox[type=“checkbox”]”)reduce((s,el)=>el和el.checked?s=(s | |?'')+el.value+'$#':s | |')
}
*{
框大小:边框框;
}
#资料{
填充物:5px;
宽度:100vw;
}
.多选{
溢出:可见;
填充:0;
左侧填充:1px;
边界:无;
背景色:#eee;
宽度:100vw;
空白:正常;
高度:75px;
}
.复选框{
高度:100px;
宽度:100px;
边框:1px实心#000;
背景色:白色;
左边距:-1px;
显示:内联块;
}
标签{
显示:内联块;
边框:1px灰色实心;
填充物:5px;
}