Note that there are some explanatory texts on larger screens.

plurals
  1. PODynamically load a drop down on selecting an option from another drop down
    text
    copied!<p>I am working on a web application over Django 1.4.5 framework. I want to populate the options in a drop down list(select id="packages") dynamically depending on the option selected in another drop down list(select id="ida"). I have looked out for answers but nothing is pointing in the right direction. here is my code:</p> <p><strong>My template (html):</strong></p> <pre><code>function getPackages(elementId) { //This is what I want to write, but could not figure out. } Select IDA's: &lt;select id="ida" name="ida" onchange="getPackages('ida');"&gt; {% for ida in ida_list %} &lt;option value="ida{{ ida.id }}"&gt;{{ ida.ida_display_name }}&lt;/option&gt; {% endfor %} &lt;/select&gt; Select packages to install: &lt;select id="package" name="package"multiple="multiple" size="5"&gt; {% for package in package_list %} &lt;option value="package {{ package.pkg_id }}"&gt;{{ package.display_name }}&lt;/option&gt; {% endfor %} &lt;/select&gt; </code></pre> <p><strong>My view:</strong></p> <pre><code>def automation(request): ida_list = IDA.objects.all() ida = IDA.objects.get(ida_name='VSA') #this is what I want to do from javascript package_list = ida.package_set.all() context = {'ida_list' : ida_list, 'package_list' : package_list} return render_to_response('vsawebauto/automation.html', context, context_instance=RequestContext(request)) </code></pre> <p><strong>My models:</strong></p> <pre><code>class IDA(models.Model): ida_name = models.CharField(max_length=100) ida_display_name = models.CharField(max_length=100) def __unicode__(self): return self.ida_name class Package(models.Model): pkg_ID = models.IntegerField(primary_key=True) pkg_name = models.CharField(max_length=50) display_name = models.CharField(max_length=100) username = models.CharField(max_length=50,default="NULL") password = models.CharField(max_length=50,default="NULL") IDAs = models.ManyToManyField(IDA) def __unicode__(self): return self.display_name </code></pre> <p><strong>Brief explanation:</strong> Depending on the IDA selection on html page, i want the packages to be displayed in the drop down list dynamically. Packages can belong to multiple IDAs and vice versa(many-many relationship in models classes). So, I want that as soon as user selects an IDA, the javascript should get the object corresponding to that IDA (something like: ida = IDA.objects.get(ida_name='VSA')) and the packages should be fetched for that IDA and displayed.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload