Search code examples
javascriptnode.jsexpresshandlebars.jsexpress-handlebars

Express handlebars, can't bind checked attribute to checkbox


I am opening some divs when a user clicks on a certain checkbox like so:

$(document).ready(function () {
  $('input[type="checkbox"]').click(function () {
    var inputValue = $(this).attr("value");
    if ($(this).prop("checked") == true) {
      $("." + inputValue).show();
    }
    else if ($(this).prop("checked") == false) {
      $("." + inputValue).hide();
    }
  });
});

Then, I store the classes of the checked boxes and if the user gave me bad input I redirect them to the submission page, I store the checked boxes like so:

allEvents={'coinChecked':true,'crinChecked':true,'ppChecked':false,'quizChecked':false}

Now I pass this allEvents object back to the submission page with res.render(check:allEvents)

Then, I use the following code (on SO) to bind the checked attribute to a checkbox, and hence open the initially hidden div with :

<input type="checkbox" name="events" value="coin"  {{bindAttr checked="check.coinChecked"}}> Code-in

But neither does this make the checkbox "checked", nor does it display the hidden div.

How can I do this, or is there a workaround for this process? thanks


Solution

  • <input type="checkbox" name="events" value="coin"  checked={{if(check.coinchecked){{checked}}}}> Code-in
    

    might do the trick