How to bind a toggle button using knock out











up vote
1
down vote

favorite












I have written the below code to see the working of Toggle Button. But it seems the data bind is not working.



Below is the HTML code



  <div>
<label class="switch">
<input type="checkbox" id="toggle123" data-bind="click:isToggleTrueOrFalse" />
<span class="slider round"></span>
</label>
</div>


Below is the Style



<style>

.switch {
position: relative;
display: inline-block;
width: 60px;
height: 34px;
}

.switch input {
opacity: 0;
width: 0;
height: 0;
}

.slider {
position: absolute;
cursor: pointer;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: #ccc;
-webkit-transition: .4s;
transition: .4s;
}

.slider:before {
position: absolute;
content: "";
height: 26px;
width: 26px;
left: 4px;
bottom: 4px;
background-color: white;
-webkit-transition: .4s;
transition: .4s;
}

input:checked + .slider {
background-color: #2196F3;
}

input:focus + .slider {
box-shadow: 0 0 1px #2196F3;
}

input:checked + .slider:before {
-webkit-transform: translateX(26px);
-ms-transform: translateX(26px);
transform: translateX(26px);
}

/* Rounded sliders */
.slider.round {
border-radius: 34px;
}

.slider.round:before {
border-radius: 50%;
}


</style>


Below is the script



<script>
self.isToggleTrueOrFalse = ko.computed(function () {
if (document.getElementById('toggle123').checked) {
// return true;
console.log("true");
}
else {
console.log("false");
}
}, self);
</script>


My requirement is when clicking on the toggle button I have to get the true or false in the console. Currently only false is coming in console.



Also I have tried using



<script>
this.toggleAssociation1=function () {
var checkBox = document.getElementById("toggle123");
if (checkBox.checked == true)
{
return true;
}
else
{
return false;
}
}
</script>


and



<input type="checkbox" id="toggle123" data-bind="click:toggleAssociation1" />


but it also did not work.



Will click event work for this. Or shall we have to use any other event.



Can some one help me on this.










share|improve this question




























    up vote
    1
    down vote

    favorite












    I have written the below code to see the working of Toggle Button. But it seems the data bind is not working.



    Below is the HTML code



      <div>
    <label class="switch">
    <input type="checkbox" id="toggle123" data-bind="click:isToggleTrueOrFalse" />
    <span class="slider round"></span>
    </label>
    </div>


    Below is the Style



    <style>

    .switch {
    position: relative;
    display: inline-block;
    width: 60px;
    height: 34px;
    }

    .switch input {
    opacity: 0;
    width: 0;
    height: 0;
    }

    .slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    -webkit-transition: .4s;
    transition: .4s;
    }

    .slider:before {
    position: absolute;
    content: "";
    height: 26px;
    width: 26px;
    left: 4px;
    bottom: 4px;
    background-color: white;
    -webkit-transition: .4s;
    transition: .4s;
    }

    input:checked + .slider {
    background-color: #2196F3;
    }

    input:focus + .slider {
    box-shadow: 0 0 1px #2196F3;
    }

    input:checked + .slider:before {
    -webkit-transform: translateX(26px);
    -ms-transform: translateX(26px);
    transform: translateX(26px);
    }

    /* Rounded sliders */
    .slider.round {
    border-radius: 34px;
    }

    .slider.round:before {
    border-radius: 50%;
    }


    </style>


    Below is the script



    <script>
    self.isToggleTrueOrFalse = ko.computed(function () {
    if (document.getElementById('toggle123').checked) {
    // return true;
    console.log("true");
    }
    else {
    console.log("false");
    }
    }, self);
    </script>


    My requirement is when clicking on the toggle button I have to get the true or false in the console. Currently only false is coming in console.



    Also I have tried using



    <script>
    this.toggleAssociation1=function () {
    var checkBox = document.getElementById("toggle123");
    if (checkBox.checked == true)
    {
    return true;
    }
    else
    {
    return false;
    }
    }
    </script>


    and



    <input type="checkbox" id="toggle123" data-bind="click:toggleAssociation1" />


    but it also did not work.



    Will click event work for this. Or shall we have to use any other event.



    Can some one help me on this.










    share|improve this question


























      up vote
      1
      down vote

      favorite









      up vote
      1
      down vote

      favorite











      I have written the below code to see the working of Toggle Button. But it seems the data bind is not working.



      Below is the HTML code



        <div>
      <label class="switch">
      <input type="checkbox" id="toggle123" data-bind="click:isToggleTrueOrFalse" />
      <span class="slider round"></span>
      </label>
      </div>


      Below is the Style



      <style>

      .switch {
      position: relative;
      display: inline-block;
      width: 60px;
      height: 34px;
      }

      .switch input {
      opacity: 0;
      width: 0;
      height: 0;
      }

      .slider {
      position: absolute;
      cursor: pointer;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background-color: #ccc;
      -webkit-transition: .4s;
      transition: .4s;
      }

      .slider:before {
      position: absolute;
      content: "";
      height: 26px;
      width: 26px;
      left: 4px;
      bottom: 4px;
      background-color: white;
      -webkit-transition: .4s;
      transition: .4s;
      }

      input:checked + .slider {
      background-color: #2196F3;
      }

      input:focus + .slider {
      box-shadow: 0 0 1px #2196F3;
      }

      input:checked + .slider:before {
      -webkit-transform: translateX(26px);
      -ms-transform: translateX(26px);
      transform: translateX(26px);
      }

      /* Rounded sliders */
      .slider.round {
      border-radius: 34px;
      }

      .slider.round:before {
      border-radius: 50%;
      }


      </style>


      Below is the script



      <script>
      self.isToggleTrueOrFalse = ko.computed(function () {
      if (document.getElementById('toggle123').checked) {
      // return true;
      console.log("true");
      }
      else {
      console.log("false");
      }
      }, self);
      </script>


      My requirement is when clicking on the toggle button I have to get the true or false in the console. Currently only false is coming in console.



      Also I have tried using



      <script>
      this.toggleAssociation1=function () {
      var checkBox = document.getElementById("toggle123");
      if (checkBox.checked == true)
      {
      return true;
      }
      else
      {
      return false;
      }
      }
      </script>


      and



      <input type="checkbox" id="toggle123" data-bind="click:toggleAssociation1" />


      but it also did not work.



      Will click event work for this. Or shall we have to use any other event.



      Can some one help me on this.










      share|improve this question















      I have written the below code to see the working of Toggle Button. But it seems the data bind is not working.



      Below is the HTML code



        <div>
      <label class="switch">
      <input type="checkbox" id="toggle123" data-bind="click:isToggleTrueOrFalse" />
      <span class="slider round"></span>
      </label>
      </div>


      Below is the Style



      <style>

      .switch {
      position: relative;
      display: inline-block;
      width: 60px;
      height: 34px;
      }

      .switch input {
      opacity: 0;
      width: 0;
      height: 0;
      }

      .slider {
      position: absolute;
      cursor: pointer;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background-color: #ccc;
      -webkit-transition: .4s;
      transition: .4s;
      }

      .slider:before {
      position: absolute;
      content: "";
      height: 26px;
      width: 26px;
      left: 4px;
      bottom: 4px;
      background-color: white;
      -webkit-transition: .4s;
      transition: .4s;
      }

      input:checked + .slider {
      background-color: #2196F3;
      }

      input:focus + .slider {
      box-shadow: 0 0 1px #2196F3;
      }

      input:checked + .slider:before {
      -webkit-transform: translateX(26px);
      -ms-transform: translateX(26px);
      transform: translateX(26px);
      }

      /* Rounded sliders */
      .slider.round {
      border-radius: 34px;
      }

      .slider.round:before {
      border-radius: 50%;
      }


      </style>


      Below is the script



      <script>
      self.isToggleTrueOrFalse = ko.computed(function () {
      if (document.getElementById('toggle123').checked) {
      // return true;
      console.log("true");
      }
      else {
      console.log("false");
      }
      }, self);
      </script>


      My requirement is when clicking on the toggle button I have to get the true or false in the console. Currently only false is coming in console.



      Also I have tried using



      <script>
      this.toggleAssociation1=function () {
      var checkBox = document.getElementById("toggle123");
      if (checkBox.checked == true)
      {
      return true;
      }
      else
      {
      return false;
      }
      }
      </script>


      and



      <input type="checkbox" id="toggle123" data-bind="click:toggleAssociation1" />


      but it also did not work.



      Will click event work for this. Or shall we have to use any other event.



      Can some one help me on this.







      html5 css3 knockout-3.0






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited 13 hours ago

























      asked 15 hours ago









      Sai Ram Sagar

      256




      256





























          active

          oldest

          votes











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














           

          draft saved


          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53203270%2fhow-to-bind-a-toggle-button-using-knock-out%23new-answer', 'question_page');
          }
          );

          Post as a guest





































          active

          oldest

          votes













          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes
















           

          draft saved


          draft discarded



















































           


          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53203270%2fhow-to-bind-a-toggle-button-using-knock-out%23new-answer', 'question_page');
          }
          );

          Post as a guest




















































































          Popular posts from this blog

          Schultheiß

          Verwaltungsgliederung Dänemarks

          Liste der Kulturdenkmale in Wilsdruff