Формула на JS
Здравствуйте!
Ребят, есть задача умножить формулу: цена * длина * ширина цена и длина известны изначально, а вот ширина разная. Помогите создать 3 кнопки с шириной 1м, 2м и 2.5м. Кликнув на кнопку получаем результат. К примеру: 3 кнопки с шириной 1м, 2м и 2.5м цена: 500 длина: 1.1 Помогите пожалуйста! |
Deymos,
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<input type="number" id="width" value="1.1"/>
<input type="number" id="price" value="500"/>
<button id="len1" value="1">1m</button>
<button id="len2" value="2">2m</button>
<button id="len3" value="2.5">2,5m</button>
<hr/>
<span id="result">0</span>
<script>
var result = document.getElementById('result');
var width = document.getElementById('width');
var price = document.getElementById('price');
document.body.onclick = function (event) {
var target = event.target;
if(!target.id.match(/len[123]/ig)) return;
result.innerHTML = target.value*price.value*width.value;
}
</script>
</body>
</html>
|
Mess4me, не стоит использовать регулярки там, где они не нужны, тем более с модификаторами, которые тут тоже ни к чему. :) Может имеет смысл проверять на target.tagName == 'BUTTON'? Ну или как минимум target.indexOf('len').
И совет, в условиях на регулярках лучше использовать метод test.
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<input type="number" id="width" value="1.1"/>
<input type="number" id="price" value="500"/>
<button name="len" value="1">1m</button>
<button name="len" value="2">2m</button>
<button name="len" value="2.5">2,5m</button>
<hr/>
<span id="result">0</span>
<script>
!function() {
var result = document.getElementById('result'),
width = document.getElementById('width'),
price = document.getElementById('price');
document.body.onclick = function(event) {
var target = event.target;
if(target.name == 'len') {
result.innerHTML = target.value * price.value * width.value;
}
}
}();
</script>
</body>
</html>
|
Ruslan_xDD,
учёл ,спасибо ) |
Ребят спасибо огромное! Работает! Всем клацнул по спасибо!
Подскажите, у меня на странице есть два элемента с id=price, как из них мне выбрать второй? Заранее спасибо! |
Deymos, id уникален, он должен быть один. Лучше сменить на name:
var price = document.getElementsByName('price');
price[0].value = 123;
price[1].value = 456;
|
Цитата:
|
Вот такие дивы
<div itemprop="offers" itemscope="" itemtype="http://schema.org/Offer"> <input type="number" id="price" value="185.13" style="display: none;"></p> </div> <div class="single_variation"> <span class="price"> <span class="amount">212.41 руб.</span> <input type="number" id="price" value="212.41" style="display: none;"></span> </div> |
Deymos,
price = document.querySelectorAll('#price')[1];
лучше изучить вашу cms чем придумывать как обойти правило. |
Цитата:
<script>
var result = document.getElementById('result');
var width = document.getElementById('width');
var price = document.getElementById('price');
price = document.querySelectorAll('#price')[1];
document.body.onclick = function (event) {
var target = event.target;
if(!target.id.match(/len[123]/ig)) return;
result.innerHTML = target.value*price.value*width.value;
}
</script>
|
| Часовой пояс GMT +3, время: 17:40. |