Home > Mobile >  How to get input from toggle switch JavaScript
How to get input from toggle switch JavaScript

Time:07-28

I have this toggle switch in my JavaScript code:

var questionRequired = document.createElement("div");
  questionRequired.className = "mt-1 mb-1";
  questionRequired.insertAdjacentHTML(
    "beforeend",
    `<label >
       <input type="checkbox"  />
       <span ></span>
       <span >Required</span>
     </label>`
  );

It is showing nicely and is being turned on and off as we can see here.

Toggle switch

My problem is that it's not doing nothing. I want to to set a variable as true if it's turned on and to false when it's turned off.

Let's say I have var isRequired and I wan to set it through this toggle switch. I want to do something like:

if (questionRequired.isTurnedOn)
    isRequired = true;
else isRequired = false;

Does anyone kow how I can do this? Thank you.

CodePudding user response:

Here is a simplified example.

Create an eventListener on your checkbox, as well as bool variable.

isChecked = isChecked ? false : true; basically means that if the value is false, set it to true, and the otherway around.

var chxBox = document.querySelector(".ios-switch-control-input");
var isChecked = false; //false because the checkbox is unchecked on page load
chxBox.addEventListener("change", function(){
isChecked = isChecked ? false : true;
console.log(isChecked)
})
 <input type="checkbox"  />

CodePudding user response:

try this

var checked = false
var questionRequired = document.createElement("div");
questionRequired.className = "mt-1 mb-1";
questionRequired.insertAdjacentHTML(
"beforeend",
`<label >
   <input onChange="isChecked()" type="checkbox"  />
   <span >. 
   </span>
   <span >Required</span>
 </label>`)

function isChecked(){
 checked = checked?false:true
 return checked
}
console.log(checked)
  • Related