I'm trying to build something like wordpress options for toggling fields visibility when creating and article. What I've build is relying on the $.click
function that is toggling the parent with the corresponding field name and I was wondering what would be the best way of doing this with if the check box is checked because my code will mess up if you check a box and reload the page because its a click and not if the box is actually checked. Thanks in advance!
HTML
<input type="checkbox" name="title">
<span class="caption">Title</span>
<div class="hidden">
<h2>Title</h2>
<input type="text" name="title">
<span class="caption">Lorem</span>
</div>
jQuery
$('input[type="checkbox"]').click(function(){
var item = $(this).attr('name');
$('input[name="'+item+'"][type="text"]').parent().toggle();
});
I think this, Jquery UI Save State Using Cookie, is the missing part you are after to control state between reloads?
HTML
css
javascript / jquery
Assuming that you are externally controlling the checked state of your checkboxes...
Demo: http://jsfiddle.net/zgrRd/5/
In other words, whatever state the checkboxes are in will be evaluated when the page loads, so if a box is not checked, the corresponding element will start out hidden. So if you are setting a value server-side which checks the box, this client-side JavaScript should evaluate it properly.
JavaScript
HTML
Note my use of
data-*
attributes. This avoids using thename
attribute of one field to indicate a relationship to another field. You can legally name these attributes whatever you want, as long as they are prefixed withdata-
.