打字稿和HTML toggleswitch值

时间:2019-02-12 12:45:42

标签: html css angular typescript toggleswitch

简而言之,我需要使用切换开关来确定将调用我的哪些方法。因此,我猜测您可以获取布尔值,指的是开关是打开还是关闭?但是我怎么得到呢?

所以我已经在html中实现了一个toggleswitch

<label class="switch">
 <input type="checkbox" id="ToggleswitchId" >
 <span class="slider round"></span>
</label>

我见过有人用javascript做这样的事情。

 var switchTrueFalse = document.getElementById('ToggleswitchId').checked

但是我得到的只是“ HTMLElement类型上不存在“已检查”的属性”

4 个答案:

答案 0 :(得分:0)

checked不是一种方法。它是<input>属性之一,它是布尔值。

因此,document.getElementById('ToggleswitchId').checked被选中时返回true

答案 1 :(得分:0)

checked是复选框输入的属性,返回true或false。

function clickCheckbox() {
  if (document.getElementById('ToggleswitchId').checked) {
    console.log("check")
  } else {
    console.log("uncheck");
  }
}
<label class="switch">
 <input type="checkbox" id="ToggleswitchId" onClick="clickCheckbox()" >call method
 <span class="slider round"></span>
</label>

答案 2 :(得分:0)

您需要在复选框的选中/取消选中调用JavaScript函数。

代码

function test()
{
    var switchTrueFalse = document.getElementById('ToggleswitchId').checked;
    console.log(switchTrueFalse);
}


<label class="switch">
 <input type="checkbox" id="ToggleswitchId" onclick="test()" >
 <span class="slider round"></span>
</label>

答案 3 :(得分:0)

由于它是输入标签,请尝试使用HTMLInputElement而不是HTMLElement

尝试改用此代码,看看是否可行:

document.getElementById("ToggleswitchId") as HTMLInputElement).checked