var URL; var DisciplineID; var FacultyID; var $ = jQuery; $(function() { URL = (window.location.href).split('/'); DisciplineID = URL[URL.length - 1]; var SubjectsGlobal = []; // Получить список в память function GetSubjectsList() { var FacultyID = 0; var optionVal = parseInt($('.SelectFaculty option:selected').val()); if (optionVal <= 0) return; var FacultyID = optionVal; $.post( URLdir + 'handler/map/GetSubjectsList', { 'FacultyID': FacultyID }, function(data) { SubjectsGlobal = $.parseJSON(data); //console.log(SubjectsGlobal); // * } ); } GetSubjectsList(); // Сортировка списка function SortByName(NameFilter) { var NameFilter = NameFilter.toLowerCase(); var SortSubjects = {}; var j = 0; var SubjectCount = SubjectsGlobal.Count; for (var i = SubjectCount - 1; i >= 0; --i) { src = SubjectsGlobal[i]; if ((src.Title).toLowerCase().indexOf(NameFilter) == 0) { // 0 - успех, -1 - ничего не нашел var dest = SortSubjects[j] = {}; dest['ID'] = src.ID; dest['Title'] = src.Title; j++; } } SortSubjects.Count = j; //console.log(SortSubjects); // * return SortSubjects; } // Для поиска предметов $('.InputSubject').keyup(function() { var NameFilter = $(this).val(); if (NameFilter.length <= 0) { SelectSubject.html(''); return; } var SortSubjects = SortByName(NameFilter); var SelectSubject = $('.SelectSubject'); SelectSubject.html(''); if (SortSubjects.Count > 0) { SelectSubject.append('<option disabled>Результаты:</option>'); for (var i = SortSubjects.Count - 1; i >= 0; --i) SelectSubject.append('<option value="'+ SortSubjects[i].ID +'">'+ SortSubjects[i].Title +'</option>'); var size = (SortSubjects.Count > 4)?'4':'2'; SelectSubject.attr('size', size); } else { SelectSubject.append('<option disabled>По запросу ничего не найдено.</option>'); SelectSubject.attr('size', '2'); } SelectSubject.show(); }); $('.SelectFaculty').change(function(){ GetSubjectsList($(this).val()); }); $('.SelectSubject').change(function(){ $('.InputSubject').val($(this).children('option:selected').first().text()); $(this).hide(); }); $('.InputSubject').focusout(function(){ var SelectSubject = $('.SelectSubject'); var NameFilter = $(this).val(); if (NameFilter.length == 0) { SelectSubject.html(''); SelectSubject.hide(); } }); { var jTemp = $('.HiddenInputFacultyID'); if (jTemp) { FacultyID = jTemp.val(); // Факультет, к которой привязана дисциплина jTemp.remove(); // Тут даже Шерлок Холмс бессилен } } })