Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Handle Boolean attributes (e.g. 'checked', 'selected') #127

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

Solinx
Copy link

@Solinx Solinx commented Jul 30, 2015

Currently when trying to map the 'checked' state of a checkbox, Platesjs will always check the checkbox, regardless of the 'checked' value being provided. This is because Platesjs requires all mapped elements to be part of the template and the html spec specifies that Boolean attributes such as 'checked' merely have to be present on the element to perform their function.

This simple PR fixes the issue by effectively removing Boolean attributes from the element in question if the mapped value evaluates to false.

For details:
http://www.w3.org/TR/html4/intro/sgmltut.html#h-3.3.4.2
kangax/html-minifier#63 (comment)

Solinx added 2 commits July 31, 2015 00:05
Currently when trying to bind the 'checked' state of a checkbox, Platesjs will always check the checkbox, regardless of the 'checked' value being provided. This is because Platesjs requires all bound elements to be part of the template and the html spec specifies that Boolean attributes such as 'checked' merely have to be present on the element to perform their function.

This PR fixes the issue by effectively removing Boolean attributes from the element in question if the mapped value evaluates to false.

For details:
http://www.w3.org/TR/html4/intro/sgmltut.html#h-3.3.4.2 
kangax/html-minifier#63 (comment)
@Solinx
Copy link
Author

Solinx commented Jul 31, 2015

Incidentally, this fixes #28

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant