Skip to content
Snippets Groups Projects
general.js 2.47 KiB
Newer Older
Антон Шалимов's avatar
Антон Шалимов committed
var URL;
var DisciplineID;
var $ = jQuery;
$(function() {
Антон Шалимов's avatar
Антон Шалимов committed
	URL = (window.location.href).split('/');
	DisciplineID = URL[URL.length - 1];
Антон Шалимов's avatar
Антон Шалимов committed
	
	// Получить список в память
Антон Шалимов's avatar
Антон Шалимов committed
	function GetSubjectsList()
	{
		var FacultyID = 0;
PavelBegunkov's avatar
PavelBegunkov committed
		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();
	
	// Сортировка списка
Антон Шалимов's avatar
Антон Шалимов committed
	function SortByName(NameFilter)
	{
		var NameFilter = NameFilter.toLowerCase();
PavelBegunkov's avatar
PavelBegunkov committed
		var SubjectCount = SubjectsGlobal.Count;
		for (var i = SubjectCount - 1; i >= 0; --i)
Антон Шалимов's avatar
Антон Шалимов committed
		{
PavelBegunkov's avatar
PavelBegunkov committed
			src = SubjectsGlobal[i];
			if ((src.Title).toLowerCase().indexOf(NameFilter) == 0)
Антон Шалимов's avatar
Антон Шалимов committed
			{
				// 0 - успех, -1 - ничего не нашел 
PavelBegunkov's avatar
PavelBegunkov committed
				var dest = SortSubjects[j] = {};
				dest['ID'] = src.ID;
				dest['Title'] = src.Title;
Антон Шалимов's avatar
f  
Антон Шалимов committed
				j++;
Антон Шалимов's avatar
Антон Шалимов committed
		console.log(SortSubjects); // *
	// Для поиска предметов
Антон Шалимов's avatar
Антон Шалимов committed
	$('.InputSubject').keyup(function()
	{
		var NameFilter = $(this).val();
PavelBegunkov's avatar
PavelBegunkov committed

		if (NameFilter.length <= 0) {
Антон Шалимов's avatar
Антон Шалимов committed
			SelectSubject.html('');
PavelBegunkov's avatar
PavelBegunkov committed
			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);
PavelBegunkov's avatar
PavelBegunkov committed
			SelectSubject.append('<option disabled>По запросу ничего не найдено.</option>');
			SelectSubject.attr('size', '2');
PavelBegunkov's avatar
PavelBegunkov committed
		SelectSubject.show();

PavelBegunkov's avatar
PavelBegunkov committed


Антон Шалимов's avatar
Антон Шалимов committed
		GetSubjectsList($(this).val());
PavelBegunkov's avatar
PavelBegunkov committed


	$('.SelectSubject').change(function(){
		$('.InputSubject').val($('.SelectSubject option:selected').text());
Антон Шалимов's avatar
Антон Шалимов committed
		$(this).hide();
PavelBegunkov's avatar
PavelBegunkov committed



	$('.InputSubject').focusout(function(){
Антон Шалимов's avatar
Антон Шалимов committed
		var SelectSubject = $('.SelectSubject');
		var NameFilter = $(this).val();
		if (NameFilter.length == 0) {
Антон Шалимов's avatar
Антон Шалимов committed
			SelectSubject.html('');
			SelectSubject.hide();