Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.06.2019, 09:44   #1
vladimir1341
 
Регистрация: 13.06.2019
Сообщений: 3
По умолчанию [РЕШЕНО] Как добавить еще один список?

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




Код:
<!DOCTYPE html>
<html lang="ru">
<head>
        <title>Калькулятор на JavaScript</title>
        
        <script type="text/javascript">
       
        function calc() {
            //получаем ссылку на элемент Select (Тип дизайна)
            var type_design = document.getElementById("type_design");
            //получаем ссылку на чекбокс (Требуется верстка?)
            var is_html = document.getElementById("is_html");
            //получаем ссылку на элемент input (Кол-во вариантов)
            var count = document.getElementById("count");
            //получаем ссылку на элемент span, в него будем писать стоимость дизайна
            var result = document.getElementById("result"); 
 
            var price = 0;
            price += parseInt(type_design.options[type_design.selectedIndex].value);
            
            price = parseInt(count.value) * price;
 
            result.innerHTML = price;
        }
 
</script>
    </head>
    <body>
        <b>номер:</b><br/>
        <select onchange="calc()" id="type_design">
            <option value="0">Выбрать</option>
            <option value='2800'>M100</option>
            <option value="2900">M150</option>
            <option value="3100">M200</option>
            <option value="3300">M250</option>
            <option value="3500">M300</option>
            <option value="3600">M350</option>
            <option value="3800">M400</option>
        </select><br/>
        
        <br/>
        количество: <input type="number" id="count" value="1" onchange="calc()" />
        <div>Приблизительная стоимость: <span id="result">0</span> руб.</div>
    </body>


</html>
vladimir1341 вне форума Ответить с цитированием
Старый 13.06.2019, 09:58   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Так у Вас же уже всё есть.
Действуйте по аналогии.

например, во втором списке может быть выбор материала, имеющий коэффициент (влияющий на конечную цену)
Код:
<!DOCTYPE html>
<html lang="ru">
<head>
        <title>Калькулятор на JavaScript</title>
	<meta charset="utf-8">
        
        <script type="text/javascript">
       
        function calc() {
            //получаем ссылку на элемент Select (Тип дизайна)
            var type_design = document.getElementById("type_design");
            //получаем ссылку на элемент Select (Материал)
            var type_material = document.getElementById("type_material");

            //получаем ссылку на чекбокс (Требуется верстка?)
            var is_html = document.getElementById("is_html");
            //получаем ссылку на элемент input (Кол-во вариантов)
            var count = document.getElementById("count");
            //получаем ссылку на элемент span, в него будем писать стоимость дизайна
            var result = document.getElementById("result"); 
 
            var price = 0;
            price += parseInt(type_design.options[type_design.selectedIndex].value);

	    var koef_mat = parseFloat(type_material.options[type_material.selectedIndex].value);
            
            price = parseInt(count.value) * price * koef_mat;
 
            result.innerHTML = price;
        }
        </script>
    </head>
    <body>
        <b>номер:</b><br/>
        <select onchange="calc()" id="type_design">
            <option value="0">Выбрать</option>
            <option value='2800'>M100</option>
            <option value="2900">M150</option>
            <option value="3100">M200</option>
            <option value="3300">M250</option>
            <option value="3500">M300</option>
            <option value="3600">M350</option>
            <option value="3800">M400</option>
        </select><br/>
        <b>Материал:</b><br/>
        <select onchange="calc()" id="type_material">
            <option value="0">Выбрать</option>
            <option value='1'>Дерево</option>
            <option value="1.2">Нержавеющая сталь</option>
            <option value="10">Серебро</option>
            <option value="0.5">ABS Пластик</option>
        </select><br/>
        
        <br/>
        количество: <input type="number" id="count" value="1" onchange="calc()" />
        <div>Приблизительная стоимость: <span id="result">0</span> руб.</div>
    </body>


</html>
Serge_Bliznykov вне форума Ответить с цитированием
Старый 13.06.2019, 11:13   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от vladimir1341 Посмотреть сообщение
Я хочу чтобы он был как бы дополнительным и приплюсовывался
всё можно. только логика не понятна.

количество к чему должно относиться? к первому списку?

тогда это будет выглядеть примерно так:
Код:
<!DOCTYPE html>
<html lang="ru">
<head>
        <title>Калькулятор на JavaScript</title>
	<meta charset="utf-8">
        
        <script type="text/javascript">
       
        function calc() {
            //получаем ссылку на элемент Select (Тип дизайна)
            var type_design = document.getElementById("type_design");
            //получаем ссылку на элемент Select (Дополнительные опции)
            var dop_opt = document.getElementById("dop_opt");

            //получаем ссылку на элемент input (Кол-во вариантов)
            var count = document.getElementById("count");
            //получаем ссылку на элемент span, в него будем писать стоимость дизайна
            var result = document.getElementById("result"); 
 
            var price = 0;
            price += parseInt(type_design.options[type_design.selectedIndex].value);

	    var dop_oplata = parseFloat(dop_opt.options[dop_opt.selectedIndex].value);
            
            price = parseInt(count.value) * price + dop_oplata;
 
            result.innerHTML = price;
        }
        </script>
</head>
      <body>
        <b>номер:</b><br/>
        <select onchange="calc()" id="type_design">
            <option value="0">Выбрать</option>
            <option value='2800'>M100</option>
            <option value="2900">M150</option>
            <option value="3100">M200</option>
            <option value="3300">M250</option>
            <option value="3500">M300</option>
            <option value="3600">M350</option>
            <option value="3800">M400</option>
        </select><br/>
        
        <br/>
        количество: <input type="number" id="count" value="1" onchange="calc()" />
	<br/>
        <b>Дополнительно</b><br/>
        <select onchange="calc()" id="dop_opt">
            <option value="0">Ничего не надо</option>
            <option value='100'>Доставка курьером</option>
            <option value="5000">Доставка вертолётом</option>
        </select><br/>
	

        <hr>
        <div>Приблизительная стоимость: <span id="result">0</span> руб.</div>
    </body>


</html>
p.s. Скажите, а неужели первого примера было недостаточно, чтобы написать нужный Вам код?!
Всё же очевидно и прозрачно!

Последний раз редактировалось Serge_Bliznykov; 13.06.2019 в 11:15.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 13.06.2019, 11:19   #4
vladimir1341
 
Регистрация: 13.06.2019
Сообщений: 3
По умолчанию

До меня не сразу дошло как это сделать.Я сначала написал сюда а потом подумал, и понял как это сделать.Спасибо


Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
всё можно. только логика не понятна.

количество к чему должно относиться? к первому списку?

тогда это будет выглядеть примерно так:
Код:
<!DOCTYPE html>
<html lang="ru">
<head>
        <title>Калькулятор на JavaScript</title>
	<meta charset="utf-8">
        
        <script type="text/javascript">
       
        function calc() {
            //получаем ссылку на элемент Select (Тип дизайна)
            var type_design = document.getElementById("type_design");
            //получаем ссылку на элемент Select (Дополнительные опции)
            var dop_opt = document.getElementById("dop_opt");

            //получаем ссылку на элемент input (Кол-во вариантов)
            var count = document.getElementById("count");
            //получаем ссылку на элемент span, в него будем писать стоимость дизайна
            var result = document.getElementById("result"); 
 
            var price = 0;
            price += parseInt(type_design.options[type_design.selectedIndex].value);

	    var dop_oplata = parseFloat(dop_opt.options[dop_opt.selectedIndex].value);
            
            price = parseInt(count.value) * price + dop_oplata;
 
            result.innerHTML = price;
        }
        </script>
</head>
      <body>
        <b>номер:</b><br/>
        <select onchange="calc()" id="type_design">
            <option value="0">Выбрать</option>
            <option value='2800'>M100</option>
            <option value="2900">M150</option>
            <option value="3100">M200</option>
            <option value="3300">M250</option>
            <option value="3500">M300</option>
            <option value="3600">M350</option>
            <option value="3800">M400</option>
        </select><br/>
        
        <br/>
        количество: <input type="number" id="count" value="1" onchange="calc()" />
	<br/>
        <b>Дополнительно</b><br/>
        <select onchange="calc()" id="dop_opt">
            <option value="0">Ничего не надо</option>
            <option value='100'>Доставка курьером</option>
            <option value="5000">Доставка вертолётом</option>
        </select><br/>
	

        <hr>
        <div>Приблизительная стоимость: <span id="result">0</span> руб.</div>
    </body>


</html>
p.s. Скажите, а неужели первого примера было недостаточно, чтобы написать нужный Вам код?!
Всё же очевидно и прозрачно!
vladimir1341 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[РЕШЕНО] Добавить #define со значением в проекте Visual Studio 2013 Alex11223 Visual C++ 2 27.02.2018 15:15
[РЕШЕНО] Как можно нескольким компонентам назначить ОДИН обработчик событий? digitalis Общие вопросы Delphi 4 15.02.2017 20:56
Как добавить в БД (MySQL) один миллиард записей? *stRong* PHP 3 12.06.2016 16:42
Список-под список-еще один подсписок nelo_001 ASP.NET 2 20.04.2016 22:45
[РЕШЕНО] Динамический список на Делфи/Паскаль. Требуется консультации Вадим Мошев Помощь студентам 2 18.04.2011 19:37