I’m writing a Ruby on Rails app. The following jQuery code is included in the head tag of the index.html.erb file, which is the template for all pages on the site.
<script> $(document).ready(function() { $('#select_mailshot').click(function () { alert('mailshot'); document.location.href = '/products/1'; }); $('#select_blog').click(function () { alert('blog'); document.location.href = '/messages'; }); $('#select_contact').click(function () { alert('contact'); document.location.href = '/contacts/1'; }); }); </script>
(the alert steps are in there for debugging)
The following html code in index.html.erb
<ul> <li id='select_mailshot'>Mailshot</li> <li id='select_blog'>Blog</li> <li id='select_contact'>Contact us</li> </ul>
The intention is that this effectively creates 3 buttons.
When clicking on any button from http://myurl.com/ it all works.
When clicking on any button from http://myurl.com/messages (get to this via the middle button) it all works
When starting from http://myurl.com/products/1 it all stops working (the alerts do not trigger). In fact when starting from http://myurl.com/anything/id it stops working.
I’ve been trying to solve this for hours now and the only difference between the working and non-working conditions is the url as far as I can see.
Can anyone shed any light as to what’s going on here?
What does firebug tell you? Do you have javascript errors on the page? if so, what are they? Are you sure the jQuery library is included correctly in the deeper pages ( i.e. is it a relative path? )