Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Обработка списков (https://javascript.ru/forum/dom-window/35007-obrabotka-spiskov.html)

Axios 27.01.2013 23:44

Обработка списков
 
Всем привет, помогите разобраться

Есть список количества недель:

<select id="nedel">
        <option value="1">1 неделя</option>
        <option value="2">2 недели</option>
        <option value="3">3 недели</option>
        <option value="4">4 неделя</option>
        <option value="5">5 недели</option>
        <option value="6">6 недели</option>
        <option value="7">7 недели</option>
        <option value="8">8 недели</option>
        <option value="9">9 недели</option>
        .......
        <option value="35">35 недели</option>
        <option value="36">36 недели</option>
      </select>


Также есть список выбора месяца:
<select id="period">
        <option value="0">Январь</option>
        <option value="1">Февраль</option>
        <option value="2">Март</option>
        <option value="3">Апрель</option>
        <option value="4">Май</option>
        <option value="5">Июнь</option>
        <option value="6">Июль</option>
        <option value="7">Август</option>
        <option value="8">Сентябрь </option>
        <option value="9">Октябрь</option>
        <option value="10">Ноябрь</option>
        <option value="11">Декабрь</option>
      </select>


У каждого месяца есть свои коэффициенты
Январь = 0,
Февраль = 0,
Март = 5,
Апрель = 7,
Май = 15,
Июнь = 25,
Июль = 25,
Август = 15,
Сентябрь = 5,
Октябрь = 0,
Ноябрь = 0,
Декабрь = 0.


Суть вот в чем.

Пользователь выбирает количество недель, например 24 недели, затем месяц.

4 недели = 1 месяц.

Получается, что если человек выбирает 24 недели, это получается 6 месяцев, т.е. выбрав Март, складываются следующие дополнительные коэффициенты:

Март = 5,
Апрель = 7,
Май = 15,
Июнь = 25,
Июль = 25,
Август = 15


Вопрос, как собрать сумму этих коэффициентов,и другой вопрос

Если пользователь выберет месяц Сентябрь, то
Сентябрь = 5,
Октябрь = 0,
Ноябрь = 0,
Декабрь = 0,
Январь = 0, //это начало года
Февраль = 0


Как сделать такой цикл или как его лучше назвать

всем ответившем спасибо!

рони 28.01.2013 01:24

Вариант при условии
Цитата:

Сообщение от Axios
4 недели = 1 месяц.

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8" />
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
$(function(){
var arr = [
    ["\u042f\u043d\u0432\u0430\u0440\u044c", 0],
    ["\u0424\u0435\u0432\u0440\u0430\u043b\u044c", 0],
    ["\u041c\u0430\u0440\u0442", 5],
    ["\u0410\u043f\u0440\u0435\u043b\u044c", 7],
    ["\u041c\u0430\u0439", 15],
    ["\u0418\u044e\u043d\u044c", 25],
    ["\u0418\u044e\u043b\u044c", 25],
    ["\u0410\u0432\u0433\u0443\u0441\u0442", 15],
    ["\u0421\u0435\u043d\u0442\u044f\u0431\u0440\u044c", 5],
    ["\u041e\u043a\u0442\u044f\u0431\u0440\u044c", 0],
    ["\u041d\u043e\u044f\u0431\u0440\u044c", 0],
    ["\u0414\u0435\u043a\u0430\u0431\u0440\u044c", 0]
];
$("#nedel, #period").change(function () {
    for (var a = +$("#period").val(), e = a + +$("#nedel").val() / 4, b = 0, c = ""; a < e; a++) var d = a % 12,
        c = c + (arr[d] + "<br />"),
        b = b + arr[d][1];
    $(".show").html(c + ("\u0418\u0442\u043e\u0433\u043e: " + b + "<br />"))
}).change();
});
</script>
</head>
<body>
<select id="period">
        <option value="0">Январь</option>
        <option value="1">Февраль</option>
        <option value="2">Март</option>
        <option value="3">Апрель</option>
        <option value="4">Май</option>
        <option value="5">Июнь</option>
        <option value="6">Июль</option>
        <option value="7">Август</option>
        <option value="8">Сентябрь </option>
        <option value="9">Октябрь</option>
        <option value="10">Ноябрь</option>
        <option value="11">Декабрь</option>
              </select>
<select id="nedel">
        <option value="1">1 неделя</option>
        <option value="2">2 недели</option>
        <option value="3">3 недели</option>
        <option value="4">4 неделя</option>
        <option value="5">5 недели</option>
        <option value="6">6 недели</option>
        <option value="7">7 недели</option>
        <option value="8">8 недели</option>
        <option value="9">9 недели</option>
        <option value="24">24 недели</option>
        <option value="35">35 недели</option>
        <option value="36">36 недели</option>
      </select>
<div  class="show"></div>
</body>
</html>

Axios 28.01.2013 08:56

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


Часовой пояс GMT +3, время: 10:55.