diff options
Diffstat (limited to 'web/js')
-rw-r--r-- | web/js/fixmystreet.js | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/web/js/fixmystreet.js b/web/js/fixmystreet.js index 4b19dc53e..9fa0f948b 100644 --- a/web/js/fixmystreet.js +++ b/web/js/fixmystreet.js @@ -57,4 +57,30 @@ $(function(){ timer = window.setTimeout(email_alert_close, 2000); }); + $('#form_category').change(function() { + if ( category_extras ) { + $('#category_meta').empty(); + if ( category_extras[this.options[ this.selectedIndex ].text] ) { + var fields = category_extras[this.options[ this.selectedIndex ].text]; + $('<h4>Additional information</h4>').appendTo('#category_meta'); + for ( var i in fields) { + var meta = fields[i]; + var field = '<div class="form-field">'; + field += '<label for="form_' + meta.code + '">' + meta.description + ':</label>'; + if ( meta.values ) { + field += '<select name="' + meta.code + '" id="form_' + meta.code + '">'; + for ( var j in meta.values.value ) { + field += '<option value="' + meta.values.value[j].key + '">' + j + '</option>'; + } + field += '</select>'; + } else { + field += '<input type="text" value="" name="' + meta.code + '" id="form_' + meta.code + '">'; + } + field += '</div>'; + $( field ).appendTo('#category_meta'); + } + } + } + }); + }); |