Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.04.2014, 17:54
Интересующийся
Отправить личное сообщение для Psy Diamond Посмотреть профиль Найти все сообщения от Psy Diamond
 
Регистрация: 08.04.2014
Сообщений: 15

JS при выборе определнных option расчитывается разная формула
не судите строго и не бейте я в JS новичок и толь-только разбираюсь...
При выборе определенного выпадающего списка - идет расчет разный.
вот примерный HTML:
...
<div>
<select id="type"><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>
</select>
</div>

<div>
<input id="kol-vo" onkeypress="return isNumberKey(event)" type="text" />
</div>
...

вот предполагаемый JS:
...
ph=document.getElementById('kol-vo').value;
/*дальше застопорился*/
...


в идеале должно на словах получиться так: для, допустим, белого, серого и желтого цена 500Р на кол-во введенного пользователем, для Оранжевого, Синего и Черного - 700Р на кол-во введеного пользователем... как это записать в формулу типа такой: 1gr=ph*500, 2gr=ph*700 - как сгруппировать списки во-что-нибудь... или обусловить.... или если не сгруппировать то вообще как сделать хоть по одному значению, чтоли.... я в тупике.... пробовал через objSel.options[0] - для каждого из списка, не выходит что-то, помогите пожалуйста .
Ответить с цитированием
  #2 (permalink)  
Старый 20.04.2014, 18:25
Аватар для nice_try
Профессор
Отправить личное сообщение для nice_try Посмотреть профиль Найти все сообщения от nice_try
 
Регистрация: 11.12.2013
Сообщений: 313

Сообщение от Psy Diamond Посмотреть сообщение
ph=document.getElementById('kol-vo').value;
что ты пытаешься получить данной выборкой?
Ответить с цитированием
  #3 (permalink)  
Старый 20.04.2014, 18:40
Интересующийся
Отправить личное сообщение для Psy Diamond Посмотреть профиль Найти все сообщения от Psy Diamond
 
Регистрация: 08.04.2014
Сообщений: 15

Сообщение от nice_try Посмотреть сообщение
что ты пытаешься получить данной выборкой?
...записать в переменную то что введет пользователь...
...я не прошу готовый код... хотябы подскажите через что это решение можно реализовать - я сам додумать попробую
Ответить с цитированием
  #4 (permalink)  
Старый 20.04.2014, 18:48
Аватар для nice_try
Профессор
Отправить личное сообщение для nice_try Посмотреть профиль Найти все сообщения от nice_try
 
Регистрация: 11.12.2013
Сообщений: 313

как вариант ты можешь хранить в массив, ключи которого соответствуют value option твоего селекта, а значения и есть сами ценники, либой суй в атрибуты option ценник и потом извлекай и делай вычисления
Ответить с цитированием
  #5 (permalink)  
Старый 20.04.2014, 19:24
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

Psy Diamond,

<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>

<body>
<div>
<select id="sel" onchange="foo()"><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>
</select>
</div>
<div>
<input id="kol-vo" oninput="foo()" type="text" value="0" />
</div>
<div id="result">0</div>
<script>
  var ratio = {1:0,2:500,3:500,4:500,5:700,6:700,7:700};
  function foo()
  {
    var num = +document.getElementById('kol-vo').value||0,
    indx = +document.getElementById('sel').value;
    document.getElementById('result').innerHTML = num * ratio[indx]
  }
</script>
</body>

</html>
Ответить с цитированием
  #6 (permalink)  
Старый 20.04.2014, 20:28
Интересующийся
Отправить личное сообщение для Psy Diamond Посмотреть профиль Найти все сообщения от Psy Diamond
 
Регистрация: 08.04.2014
Сообщений: 15

рони. спасибо пока думал пришел к своему решению:
...
ph=document.getElementById('kol-vo').value;
value=document.getElementById('kol-vo').value-1;
	if(value>=4) mat=ph*700;
	if(value<=3) mat=ph*500;
...
Ответить с цитированием
  #7 (permalink)  
Старый 20.04.2014, 20:32
Интересующийся
Отправить личное сообщение для Psy Diamond Посмотреть профиль Найти все сообщения от Psy Diamond
 
Регистрация: 08.04.2014
Сообщений: 15

простите ошибся...
ph=document.getElementById('kol-vo').value;
value=document.getElementById('type').value-1;
	    if(value>=4) mat=ph*700;
	    if(value<=3) mat=ph*500;
Ответить с цитированием
  #8 (permalink)  
Старый 20.04.2014, 20:44
Интересующийся
Отправить личное сообщение для Psy Diamond Посмотреть профиль Найти все сообщения от Psy Diamond
 
Регистрация: 08.04.2014
Сообщений: 15

отказался от массива - т.к. слишком громоздко... в рабочем коде у меня список из 22 позиций и возможно будет больше..... слишком много прописывать
Ответить с цитированием
  #9 (permalink)  
Старый 22.04.2014, 16:48
Профессор
Отправить личное сообщение для depp Посмотреть профиль Найти все сообщения от depp
 
Регистрация: 22.04.2014
Сообщений: 151

не легче сделать так:
название цвета --- объявленная цена --- инпут с кол-вом
----//----
----//----
и пользователь вводит просто нужно кол-во напротив нужных ему цветов. дальше просто собираешь данные со всех инпутов с кол-вом.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
RPG при помощи JS Володя Шишкин Общие вопросы Javascript 2 10.03.2012 16:44
Менять цвет фона select option при наведении Dmitriykh Элементы интерфейса 3 25.07.2011 13:04
Как сделать так, чтобы JS при нажатии на кнопку не выполняла запрос со страницы. JSProgrammer Элементы интерфейса 3 18.05.2010 20:18
При выборе определенного option => событие FRIE jQuery 2 05.03.2010 11:40
при выборе в 1-ом select соот.-щая инф. отображается в другом select celencer Общие вопросы Javascript 1 24.05.2009 20:38