I am trying to show/hide certain divs depending on the click of a button/link. I have done some reading on how to do this with JQuery, but it doesn't seem to be working.
edit.html.erb
<script src=".1.0.min.js"></script>
<div class="pad-bottom">
<a id="edit-profile-button" class="button default ok" href="#">
Edit Profile
</a>
<div id="profile-information" class="hidden">
<div class="row pad-top">
<div class="col-xs-6 col-sm-6 field-row">
<div class="roboto bold black field-label">
First
</div>
<%= f.text_field :first_name, class: 'field', placeholder: 'First Name'%>
</div>
</div>
</div>
<script type="text/javascript">
$(document).ready(function(event){
$('#edit-profile-button').click(function(){
event.preventDefault();
$('#profile-information').toggle();
});
});
</script>
application.css
.hidden {
display: none;
}
I can click on the link and fall into a debugger and access the two elements that I try to select in the jQuery code, but it doesn't seem do be doing anything at all, the div is never made visible.
I am trying to show/hide certain divs depending on the click of a button/link. I have done some reading on how to do this with JQuery, but it doesn't seem to be working.
edit.html.erb
<script src="http://code.jquery./jquery-2.1.0.min.js"></script>
<div class="pad-bottom">
<a id="edit-profile-button" class="button default ok" href="#">
Edit Profile
</a>
<div id="profile-information" class="hidden">
<div class="row pad-top">
<div class="col-xs-6 col-sm-6 field-row">
<div class="roboto bold black field-label">
First
</div>
<%= f.text_field :first_name, class: 'field', placeholder: 'First Name'%>
</div>
</div>
</div>
<script type="text/javascript">
$(document).ready(function(event){
$('#edit-profile-button').click(function(){
event.preventDefault();
$('#profile-information').toggle();
});
});
</script>
application.css
.hidden {
display: none;
}
I can click on the link and fall into a debugger and access the two elements that I try to select in the jQuery code, but it doesn't seem do be doing anything at all, the div is never made visible.
Share Improve this question edited Mar 30, 2017 at 16:06 Zack Herbert asked Mar 30, 2017 at 15:30 Zack HerbertZack Herbert 9601 gold badge16 silver badges40 bronze badges2 Answers
Reset to default 4Your css has an issue, hidden
is not a valid value for display. It should be:
$(document).ready(function(){
$('#edit-profile-button').click(function(){
$('#profile-information').toggle();
});
});
.hidden {
display: none;
}
<script src="https://ajax.googleapis./ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="pad-bottom">
<a id="edit-profile-button" class="button default ok">
Edit Profile
</a>
<div id="profile-information" class="hidden">
<div class="row pad-top">
<div class="col-xs-6 col-sm-6 field-row">
<div class="roboto bold black field-label">
First
</div>
<%= f.text_field :first_name, class: 'field', placeholder: 'First Name'%>
</div>
</div>
</div>
Ended using bootstrap to solve my problem (http://getbootstrap./javascript/#collapse)
edit.html.erb
<div class="pad-bottom">
<a id="edit-profile-button" class="button default ok" href="#profile-information" data-toggle="collapse" aria-expanded="false">
Edit Profile
</a>
<div id="profile-information" class="collapse">
<div class="row pad-top">
<div class="col-xs-6 col-sm-6 field-row">
<div class="roboto bold black field-label">
First
</div>
<%= f.text_field :first_name, class: 'field', placeholder: 'First Name'%>
</div>
</div>
</div>