<div dir="ltr">Hi Jesse,<div><br></div><div>The issue could be down to a number of issues:</div><div><br></div><div>1. The file with the event handle isn't being loaded</div><div>Simple debug steps: put a console.log("HERE!") or even an alert("something"); at the top of the file, and check if you see "HERE!" in the JavaScript console or an alert box.  If you don't see it, you probably haven't configured your asset loading correctly.</div><div><br></div><div>2. The file is loaded, but you forgot to wrap your binding JavaScript function in a document ready function, so event binding happens before the elements are available.</div><div>Solution: Make sure it looks something like this:</div><div><br></div><div>$(function() {<br></div><div><div>  $(document).ready(function() {</div></div><div>    // Your code here</div><div><div>  });</div><div>});</div></div><div><br></div><div>3. The event binding code is executed after the document is ready, but you're loading a modal, which loads the elements after the event binding code is executed</div><div>Easy solution: Load the form on a new page instead of in a modal</div><div>More difficult solution: read about delegated events, and use an element that contains the modal to bind the event</div><div><a href="http://api.jquery.com/on/">http://api.jquery.com/on/</a><br></div><div><br></div><div>On the population of the dropdown, if there's not a lot of data, you may find it easier to just load the data structures you need to render the dropdowns as part of the initial request.  If you do want to go down the AJAX route, you could let your controller respond to JSON, and send back a serialised collection, which you use in a callback to redraw the dropdown .  If you want to hit two different endpoints, e.g. users#index or products#index, then just change the path you request in your jQuery AJAX call, e.g. from "/users" to "/products".  If you need to filter these lists, you could do so by sending parameters, or by using a nested route.</div><div><br></div><div>However, before doing any of this, really consider if you can simplify the whole thing.  Would it really be that bad if there was a page to choose the first thing, which then took you to a second page to choose the next thing, etc?</div><div><br></div><div>Andrew</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr">On Mon, 21 Nov 2016 at 16:23 Jesse Waites <<a href="mailto:jesse.waites@gmail.com">jesse.waites@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="gmail_msg">Hi all,<div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">I wanted to run this by you. I have a project wherein I have a dropdown inside of a modal. Lets say it says "Users" and "Products". (It is more complex and more than 2 options but this example gets the point across)</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">If the user selects "Users", I then need another dropdown to appear below it that contains all of the users, so one can be selected. If the user selects "Products", that dropdown is populated with all of the products.</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">In getting this started, I have the secondary dropdown in a div, lets call it <div id="secondary"></div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">If I open the console, I can hide and show it with $('#secondary).hide(); or $('#secondary').show();</div><div class="gmail_msg">but I can't seem to get it working inline, in a script tag, on the page. At this point I'm not sure if I need to chase down an asset pipeline issue, or perhaps it isn't working due to the fact it is inside a modal and not immediately rendered. I'm kind of stumped and this is the first time I've done something like this.</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">After I defeat this issue, I'll need to populate that dropdown, and I guess I will use AJAX for that? Am open to any advice or input there as well. I'll basically call Users.all or Products.all, but I don't want to hit the database for that until the initial selection takes place... the user might not select ANYTHING from that first dropdown and so would be wasteful to make DB calls at that point.</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">Thank you very much for your time and advice,</div><div class="gmail_msg"><div class="gmail_msg"><br class="gmail_msg"></div>-- <br class="gmail_msg"><div class="m_3500734602659956229gmail_signature gmail_msg"><div dir="ltr" class="gmail_msg"><div class="gmail_msg"><div dir="ltr" class="gmail_msg"><div class="gmail_msg"><div dir="ltr" class="gmail_msg"><div dir="ltr" class="gmail_msg"><div class="gmail_msg">Jesse Waites</div><div class="gmail_msg">Web Developer</div><div class="gmail_msg"><a href="http://JesseWaites.com" class="gmail_msg" target="_blank">JesseWaites.com</a></div></div></div></div></div></div></div></div>
</div></div>
_______________________________________________<br class="gmail_msg">
Chat mailing list<br class="gmail_msg">
<a href="mailto:Chat@lists.lrug.org" class="gmail_msg" target="_blank">Chat@lists.lrug.org</a><br class="gmail_msg">
Archives: <a href="http://lists.lrug.org/pipermail/chat-lrug.org" rel="noreferrer" class="gmail_msg" target="_blank">http://lists.lrug.org/pipermail/chat-lrug.org</a><br class="gmail_msg">
Manage your subscription: <a href="http://lists.lrug.org/options.cgi/chat-lrug.org" rel="noreferrer" class="gmail_msg" target="_blank">http://lists.lrug.org/options.cgi/chat-lrug.org</a><br class="gmail_msg">
List info: <a href="http://lists.lrug.org/listinfo.cgi/chat-lrug.org" rel="noreferrer" class="gmail_msg" target="_blank">http://lists.lrug.org/listinfo.cgi/chat-lrug.org</a><br class="gmail_msg">
</blockquote></div>