|             function db_driver_onselect(id, selectedValue) {
                var split = id.split('_');
                var i = split[1];
                switch (selectedValue) {
                    case "mysql":
                        $('#database_'+i+'_port').attr('placeholder', 3389);
                        break;
                    case "pgsql":
                        $('#database_'+i+'_port').attr('placeholder', 5432);
                        break;
                }
            }
            var num_db = {% if databases %}{{ databases.length|default(1) }}{% else %}1{% endif %};
            var db_drivers = {
{% for key,val in drivers %}
                "{{ key|addslashes }}": "{{ val|addslashes }}"{% if not loop.last %},{% endif %} 
{% endfor %}
            };
            $("select.db_driver").on('change', function(e) {
                return db_driver_onselect($(this).attr('id'), $(this).val());
            });
            
            $("#add_db").on('click', function(e) {
                var html = "";
                html += "<label for=\"database_" + num_db + "_driver\">Database Driver:</label>" + "\n";
                html += "<select class=\"db_driver pure-input-1\" name=\"database[" + num_db + "][driver]\" id=\"database_" + num_db + "_driver\">" + "\n";
                html += "<option value=\"\"></option>";
                {% for key, val in drivers %}html += "<option " +{#
                    #}{% if database[0] %}{#
                        #}{% if database[0][driver] == val %}{#
                           #}" selected=\"selected\"" +
                        {% endif %}
                    {% endif %}{#
                    #}" value=" +
                        '"' +
                        "{{ key|e('html_attr') }}" +
                        '"' +
                    ">{{ val|e('html') }}</option>";
                {% endfor %}html += "</select>";
                
                html += "<label for=\"database_" + num_db + "_group\">Database Group:</label>\n";
                html += "<input class=\"pure-input-1\" type=\"text\" name=\"database[" + num_db + "][group]\" id=\"database_" + num_db + "_group\" placeholder=\"default\" />\n";
                                
                html += "<label for=\"database_" + num_db + "_host\">Host:</label>\n";
                html += "<input class=\"pure-input-1\" type=\"text\" name=\"database[" + num_db + "][host]\" id=\"database_" + num_db + "_host\" placeholder=\"localhost\" />\n";
                html += "<label for=\"database_" + num_db + "_port\">Port (optional):</label>\n";
                html += "<input class=\"pure-input-1\" type=\"text\" name=\"database[" + num_db + "][port]\" id=\"database_" + num_db + "_port\" />\n";
                html += "<label for=\"database_" + num_db + "_username\">Username:</label>\n";
                html += "<input class=\"pure-input-1\" type=\"text\" name=\"database[" + num_db + "][username]\" id=\"database_" + num_db + "_username\" required=\"required\" placeholder=\"username\" />\n";
                html += "<label for=\"database_" + num_db + "_password\">Password:</label>\n";
                html += "<input class=\"pure-input-1\" type=\"text\" name=\"database[" + num_db + "][password]\" id=\"database_" + num_db + "_password\" placeholder=\"password\" />\n";
                html += "<label for=\"database_" + num_db + "_dbname\">Database:</label>\n";
                html += "<input class=\"pure-input-1\" type=\"text\" name=\"database[" + num_db + "][dbname]\" id=\"database_" + num_db + "_dbname\" placeholder=\"database\" />\n";
                
                $("#secondary_databases").append(html).append('<hr />');
                
                $("#database_" + num_db + "_driver").on('change', function(e) {
                    return db_driver_onselect($(this).attr('id'), $(this).val());
                });
                num_db++;
            });
            
            $(document).ready(function() {
                db_driver_onselect("database_0_driver", "{{ database[0][driver]|e('html_attr') }}");
                {% for key, val in database %}{% if key > 0 %}
                    db_driver_onselect("database_{{ key|e('html_attr') }}_driver", "{{ val.driver|e('html_attr') }}");
                {% endif %}{% endfor %}
            });
 |