{% extends 'admin/change_form.html' %}
{% block extrahead %} 
{{ block.super }} 
<script>
deployment_nodes = [
{% for dn in deployment_nodes %}
   [{{ dn.0 }}, {{ dn.1 }} , "{{ dn.2 }}"],
{% endfor %}
];

function update_nodes(deployment_select, node_select_id) {
    deployment_id = $(deployment_select).val();
    html = "<option value=''>---------</option>\n";
    for (i in deployment_nodes) {
        dn = deployment_nodes[i];
        if (dn[0] == deployment_id) {
            html = html + '<option value="' + dn[1] + '">' + dn[2] + '</option>\n'
        }
    }
    //console.log(html);
    $("#"+node_select_id).empty().append(html);
}
</script>

{% endblock %}

