function getInfDifficulty(inf_ver) { switch (inf_ver) { case "2": return "INF"; case "3": return "GRV"; case "4": return "HVN"; case "5": return "VVD"; case "6": return "XCD" } } $(document).ready(function() { courseData = musicDB = [] versionCourseData = [] courseLevels = [] specificCourse = [] selectedVersion = selectedCourseLevel = selectedSpecificCourse = null $.getJSON('static/asset/json/course_data.json', function(json) { courseData = json; }) $.getJSON("static/asset/json/music_db.json", function(json) { musicDB = json; }); $('#savebutton').click(function(){ }) $('#sdvx-version').change(function(){ $('#skill-course').find('option').not(':first').remove(); $('#skill-course-level').find('option').not(':first').remove(); $('.track-name').val(''); $('.track-id').val(''); $('.track-difficulty').val(''); if(this.value != '-- Select --'){ selectedVersion = parseInt(this.value); selectedCourseLevel = null; selectedSpecificCourse = null; versionCourseData = courseData.courseData.find(data => parseInt(data['version']) === selectedVersion).info; courseLevels = [] specificCourse = [] versionCourseData.forEach(function(item, index){ item.courses.forEach(function(item2, index2) { if(!courseLevels.some(course => course.includes(item2['name']))) courseLevels.push([item2['name'], item2['id']]); }) }); $.each(courseLevels, function() { $('#skill-course').append("") $(".track-difficulty").eq(trackIndex).append("") $(".track-difficulty").eq(trackIndex).append("") if(track.difficulty['maximum'].difnum['#text'] != '0' || track.difficulty['infinite'].difnum['#text'] != '0'){ $(".track-difficulty").eq(trackIndex).append("") } $(".track-difficulty").eq(trackIndex).val(courseTrack.mty) $(".track-difficulty").eq(trackIndex).attr('diff-id', courseTrack.mty) trackIndex++; }) } }) $('.track-id').on('input', function(){ searchTrackID = parseInt(this.value); var that_ = this; var currentIndex = $('.track-id').index(that_); difficultyLabels = ['Novice', 'Advanced', 'Exhaust', 'Inf/Grv/Hvn/Vvd/Xcd', 'Maximum'] infLabel = ['0', '1', 'Infinite', 'Gravity', 'Heavenly', 'Vivid', 'Exceed'] musicDBDifficultyLabel = ['novice', 'advanced', 'exhaust', 'infinite', 'maximum'] track = musicDB.mdb.music.find(data => searchTrackID === parseInt(data['@id'])) if(track){ $(".track-name").eq(currentIndex).val(track.info.title_name) $(".track-name").eq(currentIndex).attr('track-id', track['@id']) $('.track-difficulty').eq(currentIndex).find('option').not(':first').remove(); $(".track-difficulty").eq(currentIndex).append("") $(".track-difficulty").eq(currentIndex).append("") $(".track-difficulty").eq(currentIndex).append("") if(track.difficulty['maximum'].difnum['#text'] != '0' || track.difficulty['infinite'].difnum['#text'] != '0'){ $(".track-difficulty").eq(currentIndex).append("") } $(".track-difficulty").eq(currentIndex).val('-- Select --') $(".track-difficulty").eq(currentIndex).attr('diff-id', 0) } else { $(".track-name").eq(currentIndex).val('') $(".track-name").eq(currentIndex).attr('track-id', 0) $('.track-difficulty').eq(currentIndex).find('option').not(':first').remove(); } }) })