如何使用基于js的swtich将另一个值分配给变量

时间:2020-03-13 16:32:09

标签: javascript

我需要它使用基于“ checked”的开关将link6 / linkr / link更改为“ t”,开关正常工作,但不能将link6 / linkr更改为“ t”

反正开关不会将链接更改为“ t”

使用调试器我发现它不想触发,请帮助我使其可触发

var link6 = "r";
var linkr = "r";
var linkd = "r";

    function download74() {
document.getElementById('link1' + link6).click();
}   
function download143() {
document.getElementById('link2' + linkr).click();
}
    function download198() {
document.getElementById('link3' + linkd).click();
}
function myFunction74() {
  if (confirm("Вы собираетесь скачать 74 devblog (RustUP)!")) {
    download74();
  } else {
    return 0;
  }
}
function myFunction143() {
  if (confirm("Вы собираетесь скачать 143 devblog (Immortal)!")) {
    download143();
  } else {
    return 0;
  }
}
function myFunction198() {
  if (confirm("Вы собираетесь скачать 198 devblog (TRINITY)!")) {
    download198();
  } else {
    return 0;
  }
}

var value = 0;
    var checkbox1 = document.getElementById("checkbox1");
    checkbox1.checked = value;
    document.getElementById("checkbox1").addEventListener("change", function(element){
            if (element.checked) {
      link6 = "t";
    } else {
      link6 = "r";
    }
    });
    var checkbox2 = document.getElementById("checkbox2");
    checkbox2.checked = value;
    debugger;
    document.getElementById("checkbox2").addEventListener("change", function(element){
            if (element.checked) {
            conslose.log("works");
            linkr = "t";
    } else {
    console.log("dont");
      linkr = "r";
    }
    });
    var checkbox3 = document.getElementById("checkbox3");
    checkbox3.checked = value;
    document.getElementById("checkbox3").addEventListener("change", function(element){
            if (element.checked) {
            linkd = "t";
    } else {
      linkd = "r";
    }
    });
    ```

2 个答案:

答案 0 :(得分:0)

您正在匿名更改函数中使用“ if(checkbox1.checked)”,但是当触发此代码时,checkbox1元素不再存在。您需要执行“ if(this.checked)”或“ if(element.checked)”。

答案 1 :(得分:0)

我举了一个例子。看看是否适合您:

var checkbox2 = document.getElementById("checkbox2");
checkbox2.checked = value;

checkbox2.addEventListener('change', (event) => {
  if (event.target.checked) {
   linkr = "t";
  } else {
    linkr = "r";
  }
})