Javascript 按下按钮时更改全局数组

Javascript 按下按钮时更改全局数组,javascript,Javascript,当我按下时,代码运行,但阵列PC[5]没有改变。有人知道为什么吗?数组是全局的 函数ausfuehrenbutton(){ var aktion=document.Aktionsformular.aktionen.options[document.aktionsformula.aktionen.selectedIndex].value; pcs[5]=假; 如果(aktion==1){ 对于(变量i=0;ichk.checked) 如果(aktion==1){ pcs[5]=false;//不

当我按下时,代码运行,但阵列PC[5]没有改变。有人知道为什么吗?数组是全局的

函数ausfuehrenbutton(){
var aktion=document.Aktionsformular.aktionen.options[document.aktionsformula.aktionen.selectedIndex].value;
pcs[5]=假;
如果(aktion==1){
对于(变量i=0;i<15;i++){
var tmp=i+1;
if(document.getElementById(“PC”+tmp).选中){
pcs[i]=假;
}否则{
}
}
}否则如果(aktion==2){
}否则如果(aktion==3){
}否则{
}
}

阿基翁
艾因
双星物语
德雷

当调用ausfuehrenbutton()时,无论其值以前是多少,都会将pcs[5]设置为false。如果在调用函数之前它为false,它将不会更改…

它将永远不会更改-您只有4个按钮-在数组中,他们创建的最后一个索引是pcs[3],因此您永远不会富PC[5]

看不到HTML,我想这将给您一些继续的提示

注意:如果只需要复选框,可以更改为
[…document.queryselectoral(“[id^=PC]:选中”)]
但如果选中的框少于6个,则PC[5]可能会失败

让pcs=[];
document.getElementById(“ausfuehrenbutton”).addEventListener(“单击”,函数(){
const aktion=document.getElementById(“aktionen”).value;
pcs=[…document.queryselectoral(“[id^=PC]”).map(chk=>chk.checked)
如果(aktion==1){
pcs[5]=false;//不管怎样都设置为false-顺便说一下,这是PC6
控制台日志(pcs);
}否则如果(aktion==2){
}否则如果(aktion==3){
}否则{
}
});

阿基翁
艾因
双星物语
德雷
1.
2.
3.
4.
5.
6.
7.
8.
9
10
11
12
13
14
15

多了解一下上下文就好了。代码的最终目标是什么?什么是
pcs
?你怎么知道它是不变的?我给你写了一个片段。请添加相关的HTML