Checkbox выбирания всего и складывания выбора javascript

я новый в форуме, имею несколько дней ища решение моей проблемы, но мне не удается найти ее, он перемещает следующее;

У меня есть таблица mysql со следующими реестрами: "пойдите, продукт, количество, цена", каждый реестр показан dinamicamente в таблице html с соответствующим checkbox.

checkbox, пометив их, мне складывает стоимость каждого реестра с javascript (цена) и результат суммы (отборные checkbox) я они показывает в одном input:text так называемое общее количество.

Моя проблема состоит в том, что я нуждаюсь в том, чтобы сделать checkbox "Помечания - desmarcar всех", что, когда он это нажмет, выбрал все checkbox динамической таблицы и в свою очередь сделает мне сумму стоимости всех отборных checkbox.

Я надеюсь, что понятное объяснение наверху, большое спасибо заранее.

3
задан 18.02.2017, 03:31
0 ответов

La lógica debe estar en un solo lugar, por ejemplo, una función y debe ser llamada en cada evento поменяйте флажок де када. Параллельный флажок "marcar / desmarcar todos", соло se de de gene Generator el Evento change para cada checkbox y al estar estos asociados a un funcón, harán su trabajo como se espera.

Ejemplo

 let buys = document.getElementById ('tbl-buys'); let cboxAll = buys.querySelector ('thead input [type = "checkbox"]'); let cboxes = buys.querySelectorAll ('tbody input [type = "checkbox"]'); let totalOutput = document.getElementById ('total'); let total = 0; [] .forEach.call (cboxes, function (cbox) {cbox.addEventListener ('change', handleRowSelect);}); cboxAll.addEventListener ( 'изменение', function () {[] .forEach.call (cboxes, function (cbox) {//cbox.checked = cboxAll.checked; cbox.click ();}); }); function handleRowSelect (e) {let row = e.target.parentNode.parentNode; let qty = row.querySelector ('td: nth-child (3)'). textContent; let price = row.querySelector ('td: nth-child (4)'). textContent; пусть стоимость = число (кол-во) * число (цена); if (e.target.checked) {total + = cost; } else {total - = cost; } total = Number (total.toFixed (2)); totalOutput.value = всего; } 
 body {padding: 20px; } 
  
2
ответ дан 03.12.2019, 16:57

Теги

Похожие вопросы