Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / 2 вопроса по JQuery / 7 сообщений из 7, страница 1 из 1
22.08.2009, 02:07
    #36157939
Саабразим Аль-каши Бухани
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
2 вопроса по JQuery
Есть примерно такая страница:
Код: plaintext
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.
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <script type="text/javascript" src="js/jquery-1.3.1.js"/>
      <script type="text/javascript">
        $(document).ready(function() {
            $("input[type=checkbox]").click(function() {
               DoIt();
            });
        });

        $(document). load(function() {
            DoIt();
        });

        function DoIt() {
                var r = $('input[checked=true]').length;
                if ((r >  1 )&&(r <=   3 )){
                    $("label#counter").removeClass("accept");
                    $("label#counter").removeClass("deny");
                    $("label#counter").addClass("warn").html('Выбрано продуктов: ' + r);
                }else if ((r <=  1 )||(r >  5 )){
                    $("label#counter").removeClass("accept");
                    $("label#counter").removeClass("warn");
                    $("label#counter").addClass("deny").html('Выбрано продуктов: ' + r);
                }else {
                    $("label#counter").removeClass("warn");
                    $("label#counter").removeClass("deny");
                    $("label#counter").addClass("accept").html('Выбрано продуктов: ' + r);
                }
        }

    </script>
    <style type="text/css" >
        .deny{color:#d84836}
        .warn{color:#edc80b}
        .accept{color:#649e42}
    </style>

        <link rel="stylesheet" type="text/css" href="default.css"/>
    </head>
    <body link="#2a413e" alink="#2a413e" vlink="#2a413e" leftmargin="1" leftmargin="0" topmargin="0">
   <label id="counter" class="deny">Выбрано позиций:  0 </label><br/>
     <form action="mc?action=cookbook&page=order" method="POST">
	<input id="prod1" type="checkbox" name="pr1"><label for="prod1">Позиция1</label><br>
	<input id="prod2" type="checkbox" name="pr2"><label for="prod2">Позиция2</label><br>
                <!-- Ну и т.д. -->
	<input id="prod10" type="checkbox" name="pr10"><label for="prod10">Позиция3</label><br>
	<input id="prod11" type="checkbox" name="pr11"><label for="prod11">Позиция4</label><br>
        <center>
            <input type="reset" name="name" title="title" value="Сбросить" />
            <input type="submit" name="name" title="title" value="Подтвердить" />
        </center>
    </form>
    </body>
</html>
Соответственно при выборе определенного количества галочек текст и цвет метки меняются. По нажатии "подтвердить" фотма уезжает на другую страницу где обрабатывается. На той странице есть кнопка "вернуться" такого вида:
Код: plaintext
<center><input type="button" name="repeat" value=" Вернуться " OnClick="history.back(1);"></center>
Вопрос №1 вот в чем: при возврате на первую страницу текст всегда - "выбрано позиций: 0" (по дефолту) и красный.
Что нужно сделать и где, чтобы при возврате метка окрашивалась в нужный цвет с правильным значением кол-ва выбраных позиций?
Вопрос № 2. Как грамотнее переписать этот говнокод:
Код: plaintext
1.
2.
3.
                   $("label#counter").removeClass("accept");
                    $("label#counter").removeClass("deny");
                    $("label#counter").addClass("warn").html('Выбрано продуктов: ' + r);
 
...
Рейтинг: 0 / 0
22.08.2009, 04:03
    #36157962
IDVsbruck
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
2 вопроса по JQuery
По первому вопросу ответ напрашивается сам собой - через сервер ... при переходе на вторую скидываем результат, при возврате получаем. Благо, аджакс легко с этим справляется.

По второму - все ставь в цепочку. Кроме этого, есть функция смены класса, а не удаления и добавления, используй ее.
...
Рейтинг: 0 / 0
22.08.2009, 06:46
    #36157971
Elain
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
2 вопроса по JQuery
Саабразим Аль-каши Бухани, на сколько я понял вопрос, то при сабмит формы происходит с перезагрузкой страницы.... Если так то пиши в сессию или кука сериализованный массив со жмакнутыми галками..... если происходит роллбек то сделай функцию по обработке сериализованных данных.... На этом построены почти все многостраничные формы!
...
Рейтинг: 0 / 0
22.08.2009, 19:43
    #36158312
Саабразим Аль-каши Бухани
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
2 вопроса по JQuery
IDVsbruck, Можете поподробнее на счет функции смены класса? Хотя бы как она назыввается.
Elain, Да, с перезагрузкой. Допустим, при сабмите нужное значение я засуну в куки (как в JS работать с сессией я вообще пока не в курсе), но я не очень понимаю (для начала) на какое событие вешать на первой странице извлечение из кук сохраненного значения (т.е. нажатие кнопки "назад" в браузере).
...
Рейтинг: 0 / 0
22.08.2009, 21:26
    #36158348
Elain
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
2 вопроса по JQuery
Саабразим Аль-каши БуханиIDVsbruck, Можете поподробнее на счет функции смены класса? Хотя бы как она назыввается.
Elain, Да, с перезагрузкой. Допустим, при сабмите нужное значение я засуну в куки (как в JS работать с сессией я вообще пока не в курсе), но я не очень понимаю (для начала) на какое событие вешать на первой странице извлечение из кук сохраненного значения (т.е. нажатие кнопки "назад" в браузере).

Извлечение куки производи по событию onLoad это для JS или $(document).ready для JQuery
...
Рейтинг: 0 / 0
22.08.2009, 21:30
    #36158356
IDVsbruck
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
2 вопроса по JQuery
Да, конечно ... на оффсайте jQuery - http://docs.jquery.com/Attributes/toggleClass#class - toggleClass(). Там же посмотри - есть еще со свитчем.

Думаю, все же правильнее будет через сервер - как бы, более стандартизованно, что ли ... Да и гарантийно кроссбраузерно и "кошерно".
...
Рейтинг: 0 / 0
23.08.2009, 19:36
    #36158894
Саабразим Аль-каши Бухани
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
2 вопроса по JQuery
Спасибо.
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / 2 вопроса по JQuery / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]