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, время: 06:33. |