javascript - Prototype Toggle through Array Only Toggling Last Item -


I am making a start and my brother showed me some prototypes. All weeks successfully toggle in the array last week, but no other. Please tell me that I need to be more specific! Thanks!

  & lt;% = @ Athletic_program.program_name% & gt; & Lt; Br> & Lt; Br> & Lt;% array of_ids = Array.new% & gt; & Lt;% @ program_weeks.each do | Program_week | & Gt%; & Lt;% array_of_ids.push (program_week.id)%> & Lt; Div id = "week_number_ <% = program_week.id%> & gt; Class = "week_number" & gt; Week & lt;% = program_week.week_number% & gt; & Lt; / Div & gt; & Lt; Div id = "program_week_form_ <% = program_week.id%> & gt; Class = "program_week_form" & gt; Do & lt;% form_for (program_week) | F | | & Gt%; & Lt;% = f.error_messages% & gt; Number of workouts & lt;% = f.select: number_of_workouts, (1.7), {}% & gt; & Lt;% = f.submit 'Next'% & gt; & Lt;% end% & gt; & Lt; / Div & gt; & Lt;% end% & gt; & Lt;% content_for: javascript% & gt; & Lt; Script type = "text / javascript" & gt; Function showForms (array_of_ids) {for (var i = 0; i & lt; array_of_ids.length; i ++) {id = array_of_ids [i]; Week_id = "week_number_" + array_of_ids [i]; $ (Week_id) .onclick = function (event) {program_form = "program_week_form_" + id; Form_div = $ (program_form); If (form_div.style.display == 'none') {form_div.style.display = 'block'; } Other {form_div.style.display = 'none'; }}}} ShowForms (& lt;% = array_of_ids.to_json%>); & Lt; / Script & gt; & Lt;% end% & gt;  

The following works now!

  & lt;% = @ Athletic_program.program_name% & gt; & Lt; Br> & Lt; Br> & Lt;% @ program_weeks.each do | Program_week | & Gt%; & Lt; Div id = "week_number_ <% = program_week.id%> & gt; Class = "week_number" onclick = "$ ('program_week_form_ & lt;% = program_week.id%>'). Toggle ()" & gt; Week & lt;% = program_week.week_number% & gt; & Lt; / Div & gt; & Lt; Div id = "program_week_form_ <% = program_week.id%> & gt; Class = "program_week_form" style = "display: none;" & Gt; Do & lt;% form_for (program_week) | F | | & Gt%; & Lt;% = f.error_messages% & gt; Number of workouts & lt;% = f.select: number_of_workouts, (1.7), {}% & gt; & Lt;% = f.submit 'Next'% & gt; & Lt;% end% & gt; & Lt; / Div & gt; & Lt;% end% & gt;  

I added style = "display: none;" Program_ week_form_ has been hidden by default.

Are you trying to toggle this form when the week Div ​​is clicked? In that case you are actually going wrong about it.

I think you can delete all your JavaScript and your array_of_ids and if you are using prototype, just change it to Week div:

  & Lt; Div id = "week_number_ <% = program_week.id%> & gt; Class = "week_number" onclick = "$ ('program_week_form_ & lt;% = program_week.id%>'). Toggle ()" & gt; Week & lt;% = program_week.week_number% & gt; & Lt; / Div & gt;  

Comments

Popular posts from this blog

oracle - The fastest way to check if some records in a database table? -

php - multilevel menu with multilevel array -

jQuery UI: Datepicker month format -