Untitled
unknown
plain_text
a year ago
2.6 kB
2
Indexable
Never
$(document).ready(function () { scopeRadios = $('input[name="scope"]'); categorySelect = $('#category'); sourceSelect = $('#source'); unitInput = $('#unit'); unitInput2 = $('#unit2').hide(); // hide second input box by default carbonFactorInput = $('#carbonfactor'); resultInput = $('#result'); commentInput = $('#comment'); charCount = $('#charCount'); scopeRadios.change(onScopeChange); categorySelect.change(onCategoryChange); sourceSelect.change(onSourceChange); unitInput.add(unitInput2).on('input', onUnitInputChange); commentInput.on('keyup', onCommentKeyUp); $('#submit').click(onSubmitClick); $('#clear').click(onClearClick); resetForm(); }); function resetForm() { // Clear inputs and textarea $('input').val(''); $('textarea').val(''); $('#unit-label2').text(''); $('#charCount').text('0/250'); unitInput2.hide(); unitInput.removeClass('col-4').addClass('col-12'); $('.invalid-input').removeClass('invalid-input'); unitInput.prop('disabled', true); // Clear radio button selection scopeRadios.parent().removeClass('active'); scopeRadios.prop('checked', false); // Reset category and source select elements categorySelect.empty().append(new Option("Välj kategori", "", true, true)).prop('disabled', true); sourceSelect.empty().append(new Option("Välj källa", "", true, true)).prop('disabled', true); } function onScopeChange() { categorySelect.prop('disabled', false); let selectedScope = $(this).val(); let categories = [...new Set(data.filter(item => item.scope == selectedScope).map(item => item.category))]; categorySelect.empty().append(new Option("Välj kategori", "", true, true)); categories.forEach(category => { categorySelect.append(new Option(category, category)); }); } function onCategoryChange() { if($(this).val() !== "") { sourceSelect.empty(); sourceSelect.append(new Option("Välj källa", "", true, true)).prop('disabled', false); let selectedScope = $('input[name="scope"]:checked').val(); let selectedCategory = $(this).val(); let sources = [...new Set(data.filter(item => item.scope == selectedScope && item.category == selectedCategory).map(item => item.source))]; sources.forEach(source => { sourceSelect.append(new Option(source, source)); }); } } // Remaining functions for onSourceChange, onUnitInputChange, onCommentKeyUp, onSubmitClick and onClearClick go here