// Function to dynamically update a select field function update_selectfield(field_id, data, selected_value) { var $field = $(field_id); $field.empty(); $.map(data, function(option, index) { if( option == "None" ) { var text = ""; } else { var text = option; } $field.append($("<option></option>").attr("value", option).text(text)); }); $field.val(selected_value); } // Function to populate dynamically the stack_member field // in the create and edit item forms function update_stack_member() { // Retrieve free stack members var host_id = $("#host_id").val(); $.getJSON( $SCRIPT_ROOT + "/inventory/_retrieve_free_stack_members/" + host_id, { ics_id: $("#ics_id").val() }, function(json) { update_selectfield("#stack_member", json.data.stack_members, json.data.selected_member); $("#stack_member").prop("disabled", json.data.disabled); } ); } $(document).ready(function() { // When an invalid input was submitted, the server // adds the "is-invalid" class to form fields to display // them in red with an error message // When starting to type again, we want to remove the error // message to not confuse the user $('input[type="text"]').keyup(function(event) { $(this).removeClass("is-invalid"); }); });