Форум программистов, компьютерный форум, киберфорум
C#: ASP.NET MVC
Войти
Регистрация
Восстановить пароль
 
1 / 1 / 0
Регистрация: 30.03.2013
Сообщений: 28
1

Автомобиль не должен отображаться если не выбран его тип или в выбранное время он уже занят

24.12.2013, 21:11. Просмотров 464. Ответов 1
Метки нет (Все метки)

Добрый день, утро, или другое время суток заставшее вас.. Вопрос заключается в следующем.... имеется сайт на котором отображаются автомобили в зависимости от его типа и времени. Автомобиль не должен отображаться если не выбран его тип или в выбранное время он уже занят. Проверка его занятости происходит путем отправки аякс-запроса. дело в том, что если выбран один тип, то отображаемые данные корректны, все автомобили этого типа не занятые в выбранное время отображаются.. но если выбраны несколько типов, то проскальзывают занятые автомобили... я не пойму в чем дело..может это что-то фундаментальное?
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
function DrawCarList() {
 
    var date1 = $('input[name=dateStart]').val(); var time1 = $('input[name=timeStart]').val(); //данные о времени
    var date2 = $('input[name=dateEnd]').val(); var time2 = $('input[name=timeEnd]').val();
 
    var group = document.getElementsByClassName("item-auto"); //получаю все автомобили и сначала всех их видно 
    for (var i = 0; i < group.length; i++) {
        group[i].style.display = "block";
        group[i].parentNode.style.borderBottom = "1px solid #aaa";
        group[i].parentNode.style.borderTop = "1px solid #aaa";
    }
 
//потом достаю группу из фильтра, и значения этой группы. т.е. какие типы выбраны в данный момент
    var selected_group = document.getElementsByClassName("selected-car-type-title"); 
    var selected_group_values = [];
    for (var i = 0; i < selected_group.length; i++)
        selected_group_values[i] = selected_group[i].value;
 
 
//во второй группе лежат  типы всех автомобилей, которые я тоже собираю
    var group2 = document.getElementsByClassName("car-type");
 
//пробегаю в цикле по всем типам, и если тот содержится в первой группе (фильтре) то проверяю автомобиль -свободен ли он в это время, которое мы получили аякс-запросом и если да то отображаем этот автомобиль
    for (var i = 0; i < group2.length; i++) {
        if (selected_group_values.contains(group2[i].value)) {
 
            $("#selected-car-number").val(group2[i].previousElementSibling.previousElementSibling.value);
            var carNumber = $("#selected-car-number").val();
 
            var jsparentNode = group2[i].parentNode;
 
            $.ajax({
                url: "/Order/FreeAutoToAjaxRequest",
                type: "POST",
                data: { carNumber: "\"" + carNumber + "\"", dateStart: "\"" + date1 + "\"", timeStart: "\"" + time1 + "\"", dateEnd: "\"" + date2 + "\"", timeEnd: "\"" + time2 + "\"" },
                success: function (data) {
                    if (data == "false") { //пришло, что автомобиль занят
                        jsparentNode.style.display = "none";
 
                        jsparentNode.parentNode.style.borderBottom = "none";
                        jsparentNode.parentNode.style.borderTop = "none";
                    } else { // здесь если свободен
                        jsparentNode.style.display = "block";
 
                        jsparentNode.parentNode.style.borderBottom = "1px solid #aaa";
                        jsparentNode.parentNode.style.borderTop = "1px solid #aaa";
                    }
                },
                dataType: "json"
            });
        }
        else { //если не входит в группу выделенных типов (фильтр)
            group2[i].parentNode.style.display = "none";
 
            group2[i].parentNode.parentNode.style.borderBottom = "none";
            group2[i].parentNode.parentNode.style.borderTop = "none";
        }
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.12.2013, 21:11
Ответы с готовыми решениями:

Как подключить SSD если SATA 3 уже занят Жёстким диском?
Доброго времени суток! Собственно имеется материнская плата MSI B75IA-E33,в ней 1 разъём SATA 3 и...

Запретить выбор пункта меню, если он уже выбран в другом меню
Доброго времени суток! Помогите пожалуйста с такой задачкой: На форме 4 TPanel, к ним прикручены...

Как прочитать лог-файл, если в это время он занят другим процессом
Здравствуйте. Пытаюсь делать Лог-файл и посчитать количество строк в файле. Вылетат ошибка мол этот...

Показать div, если выбран хотя бы 1 его дочерний checkbox
В диве находятся дополнительные чекбоксы поиска, по у молчанию он скрыт, открывается при нажатии на...

1
906 / 809 / 208
Регистрация: 15.06.2012
Сообщений: 3,186
Записей в блоге: 1
25.12.2013, 09:48 2
Думаю проблема скорее в контролере, а точнее в том методе, который непосредственно определяет занятость автомобиля.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.12.2013, 09:48

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Проверка файла на его состояние (занят или нет)
Добрый день прошу не удалять тему ...может здесь мне и в правду помогут столкнулся с бедой даже...

Как сделать тип данных или уже есть такой тип данных который состоит из всех печатыемых символов?
Как сделать тип данных или уже есть такой тип данных который состоит из всех печатыемых символов?...

Смена MySql запроса если выбран параметр GET или POST поиск товаров и привязка результата к сесии
Здравствуйте Если данные приходят с формы методом POST, то фильтруется список товаров по значениям...

Если сервер был Down в то время когда должен выпол. агент
Агент по расписаню. Если сервер был даун когда должен был выполнится агент по времени. Агент...

Где должен находиться файл, чтоб программа его открыла, или как указывать его имя?
Пытаюсь работать с файлами. Объясните, пожалуйста, где должен находиться файл, чтоб программа его...

Получить время с удалённого компьютера и перезагрузить его, если время превышает заданное
Доброго времени суток всем Вам! Многим из вас моя проблема покажется крайне легкой, но для меня...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.