Untitled
unknown
plain_text
3 years ago
2.6 kB
12
Indexable
$(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
Editor is loading...