BorisJe, т.е. сумма меняется не только кнопками, но и руками тоже?
Цитата:
<!DOCTYPE html>
<html>
<head>
<script src='https://code.jquery.com/jquery-latest.min.js'></script>
<!--
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
<link rel="stylesheet" type="text/css" href="tmp.css" />
<script src='tmp.js'></script>
-->
<style type='text/css'>
</style>
<script>
$(_ => {
const o = $('.total')
o.on('input', e => {
alert('Changed!');
})
$('button').on('click', e => {
o.val(+o.val() + 10)
o.trigger('input')
})
})
</script>
</head>
<body>
<button>+10</button>
<label>
Сумма
<input name="total" type="text" class="total" />
</label>
</body>
</html>
|
Цитата:
|
Цитата:
дальше у нас есть хтмл Код:
@foreach (var item in Model)Мне хотелось чтобы при изменении Моего поля тотал проверились все элементы прайс и если тотал < прайс тогда оставить заблокированым. Ну или цветом для наглядности вывести или картинку изменить на "заблокировано не достаточно средств". Ну это уже другое. Что сделал Я.
$(document).ready(function () {
const res = document.querySelector('.result');
const text = document.querySelector('#total');
text.addEventListener('input', e => res.innerHTML = e.target.value);
});
Но при изменинии с кнопки ничего не происходит, только если руками. Если начинать с начала, надо понять как делать определить изменение. Дальше найти прайса которые выше внесенной суммы, дальше уже заблокировать. |
BorisJe, если сумма меняется только с кнопок - нет смысла проверять изменение суммы, т.к. ее руками никто не меняет.
Все твои проверки должны выполняться по нажатию кнопок. Нажали кнопку - увеличь сумму, проверь доступность напитков. |
Цитата:
Изменяю сумму, читаю все цены, если ок то ставлю доступность если нет то блокирую? |
Цитата:
|
Цитата:
document.addEventListener('button', e => {
console.log(`Форма: ${e.target.parentNode.name}, инпут: ${e.target.name}`)
})
Пододёт ли этот код для контроля нажатий кнопок? |
Цитата:
|
$(document).ready(function () {
$(_ => {
const o = $('.total');
o.on('input',e => {
alert('changedTotal');
});
$('button').on('click',e => {
o.val(+o.val() + 10);
o.trigger('input');
});
});
});
Работает 100% если нажимаю бутон, срабатывает. А как Мне теперь отследить что находиться в поле тотал? |
BorisJe, пока я тебе делал пример на нативном JS, ты уже в жиКвери ускакал... :D
Ты уже определяйся на чем будешь работать дальше. ;)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<!--
<script src="https://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
-->
<style>
</style>
<script>
document.addEventListener('DOMContentLoaded', _ => {
document.querySelectorAll('button').forEach(_ => {
_.addEventListener('click', e => {
alert(`Форма: ${e.target.parentNode.name}, инпут: ${e.target.name}`)
})
})
})
</script>
</head>
<body>
<form name='frm-1'>
<button name='btn-1-1'>Item 1 1</button>
<button name='btn-1-2'>Item 1 2</button>
</form>
<form name='frm-2'>
<button name='btn-2-1'>Item 2 1</button>
<button name='btn-2-2'>Item 2 2</button>
</form>
</body>
</html>
|
| Часовой пояс GMT +3, время: 19:15. |