ec957aa4
Volodymyr
product modal js
|
1
2
|
var phoneInput = document.querySelector('#cardProduct [type="tel"]');
var counter = document.querySelector('#cardProduct .product-counter__input');
|
79137940
Volodymyr
fix product modal
|
3
|
var price = 0;
|
e582a8c8
Volodymyr
feedback message ...
|
4
5
6
7
8
9
10
11
12
13
14
15
|
$('#order-product').click(function (e){
e.preventDefault();
var message='Сума: ';
message += $('#cardProduct .product-counter__value').text();
message +='\nКод товара: ' + $('#product-code').val();
message +='\nКількість: ' + counter.querySelector('input').value;
console.log(message + phoneInput.value);
var phone = '+38' + phoneInput.value;
if(phone.length===17){
console.log('good')
}
})
|
ec957aa4
Volodymyr
product modal js
|
16
17
18
|
if (phoneInput) {
phoneInput.addEventListener('input', phoneHandleInput);
}
|
7445c339
Volodymyr
product modal js
|
19
|
$('#cardProduct').on('show.bs.modal', function (e) {
|
79137940
Volodymyr
fix product modal
|
20
21
22
23
24
25
|
var button = $(e.relatedTarget);
price = button.data('price');
$('#cardProduct .product-counter__value').data('price', price);
var itemPrice = counter.parentElement.querySelector('.product-counter__value');
itemPrice.innerHTML = `${price} ${itemPrice.dataset.currency}`;
counter.querySelector('input').value = 1;
|
e582a8c8
Volodymyr
feedback message ...
|
26
27
28
|
var sku = button.data('sku');
$('#product-code').val(sku);
$('#cardProduct .product-code').text('Код товара ' + sku);
|
7445c339
Volodymyr
product modal js
|
29
|
})
|
e582a8c8
Volodymyr
feedback message ...
|
30
|
|
79137940
Volodymyr
fix product modal
|
31
32
|
if(counter){
counterFunc(counter);
|
ec957aa4
Volodymyr
product modal js
|
33
34
|
}
|
ec957aa4
Volodymyr
product modal js
|
35
36
37
38
39
40
41
|
function phoneHandleInput(e) {
e.target.value = phoneMasks(e.target.value);
}
function phoneMasks(phone) {
return phone.replace(/\D/g, '')
.replace(/^(\d)/, '($1')
|
e582a8c8
Volodymyr
feedback message ...
|
42
|
.replace(/^(\(\d{3})(\d)/, '$1)$2')
|
ec957aa4
Volodymyr
product modal js
|
43
44
45
46
47
48
|
.replace(/(\d{3})(\d{1,7})/, '$1-$2')
.replace(/(-\d{2})(\d{1,7})/, '$1-$2')
.replace(/(-\d{2})\d+?$/, '$1');
}
function counterFunc(counter) {
|
79137940
Volodymyr
fix product modal
|
49
50
|
var itemPrice = counter.parentElement.querySelector('.product-counter__value');
itemPrice.innerHTML = `${price} ${itemPrice.dataset.currency}`;
|
ec957aa4
Volodymyr
product modal js
|
51
52
53
54
55
56
57
58
59
60
61
62
63
|
counter.querySelector('input').value = 1;
counter.addEventListener('input', counterHandleInput);
counter.addEventListener('change', counterHandleChange);
counter.querySelector('.product-counter__increment').addEventListener('click', increment);
counter.querySelector('.product-counter__decrement').addEventListener('click', decrement);
function counterHandleInput(e) {
e.target.value = e.target.value.replace(/\D/g, '');
updateSummary();
}
function counterHandleChange(e) {
|
79137940
Volodymyr
fix product modal
|
64
|
var value = e.target.value.replace(/\D/g, '');
|
ec957aa4
Volodymyr
product modal js
|
65
66
67
68
69
70
71
72
|
if (value == 0) {
e.target.value = 1;
}
updateSummary();
}
function increment(e) {
e.preventDefault();
|
79137940
Volodymyr
fix product modal
|
73
|
var value = Number(counter.querySelector('input').value);
|
ec957aa4
Volodymyr
product modal js
|
74
|
counter.querySelector('input').value = value + 1;
|
ec957aa4
Volodymyr
product modal js
|
75
76
77
78
79
|
updateSummary();
}
function decrement(e) {
e.preventDefault();
|
79137940
Volodymyr
fix product modal
|
80
|
var value = Number(counter.querySelector('input').value);
|
ec957aa4
Volodymyr
product modal js
|
81
82
83
84
85
86
87
|
if (value > 1) {
counter.querySelector('input').value = value - 1;
updateSummary();
}
}
function updateSummary() {
|
79137940
Volodymyr
fix product modal
|
88
|
var amount = counter.querySelector('input').value;
|
ec957aa4
Volodymyr
product modal js
|
89
|
if (amount >= 1) {
|
79137940
Volodymyr
fix product modal
|
90
91
92
|
var oldSum = Number(price);
var newSum = String(oldSum * amount);
itemPrice.innerHTML = `${newSum} ${itemPrice.dataset.currency}`;
|
ec957aa4
Volodymyr
product modal js
|
93
94
95
|
}
}
}
|