0
votes

valeur de basculement typescript et html

La petite histoire est que je dois utiliser un interrupteur à bascule pour déterminer laquelle de mes méthodes va être appelée. Donc, je suppose que vous pouvez obtenir un booléen, en se référant à savoir si le commutateur est activé ou désactivé? mais comment puis-je obtenir cela?

J'ai donc implémenté un interrupteur à bascule en html

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

J'ai vu quelqu'un faire quelque chose comme ça, avec javascript. p >

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

mais tout ce que j'obtiens est "La propriété 'vérifiée' n'existe pas sur le type HTMLElement"


2 commentaires

.checked n'est pas une fonction. C'est une variable contenant l'état vérifié.


Utilisez-vous angular 2?


4 Réponses :


0
votes

vérifié n'est pas une méthode. C'est l'un des attributs qui est un booléen.

Donc, document.getElementById ('ToggleswitchId'). checked renvoie true quand il est coché


0 commentaires

0
votes

vérifié est une propriété d'entrée de case à cocher qui renvoie vrai ou faux.

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


6 commentaires

J'ai essayé votre code et vérifié, ne fonctionne pas. "La propriété 'vérifiée' n'existe pas sur le type HTMLElement".


Utilisez-vous Angular?


J'utilise Angular CLI 7.1.4


Comme vous êtes nouveau sur le débordement de la pile, vous devriez donc marquer la question avec angulaire également, mentionnez tout dans la question avec le code que vous avez essayé.


vous pouvez trouver votre réponse ici stackoverflow.com/questions/48002244/...


Merci pour l'aide et pour les conseils concernant le stackoverflow.



0
votes

Vous devez appeler une fonction JavaScript en cochant / décochant la case.

<label class="switch">
  <input type="checkbox" id="ToggleswitchId" onclick="test()" >
  <span class="slider round"></span>
</label>
function test() {
    var switchTrueFalse = document.getElementById('ToggleswitchId').checked;
    console.log(switchTrueFalse);
}
    


0 commentaires

0
votes

Puisqu'il s'agit d'une balise d'entrée, essayez d'utiliser HTMLInputElement au lieu de HTMLElement .

Essayez d'utiliser ce code à la place et voyez s'il fonctionne:

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


0 commentaires