Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

При редактировании цены и количества сумма не меняется не знаю что делать помогите.

anar rzaev Ученик (96), на голосовании 1 неделю назад
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>kalckulate</title>
<link rel="stylesheet" href="">
<style>
* {
box-sizing: border-box;
}

#parent {
margin: 0 auto;
width: 500px;
}

#form {
display: flex;
margin-bottom: 15px;
width:500px;
}

#form input {
padding: 8px;
width: 120px;
margin: 2px;
}

h2 {
margin-bottom: 7px;
}

#table {
width: 100%;
margin-bottom: 10px;
}

#table td, #table th {
padding: 8px;
text-align: center;
border: 1px solid black;
}

.remove {
color: blue;
cursor: pointer;
text-decoration: underline;
}

.remove:hover {
text-decoration: none;
}

#result {
text-align: right;
margin-right: 10px;
}

</style>
<script src=""></script>
</head>
<body>
<div id="parent">
<div id="form">
<input id="name" placeholder="название">
<input id="price" placeholder="цена">
<input id="amount" placeholder="количество">
<input id="add" type="button" value="добавить">
</div>

<h2>Таблица продуктов:</h2>

<table id="table">
<tr>
<th>название</th>
<th>цена</th>
<th>кол-во</th>
<th>сумма</th>
<th>удалить</th>
</tr>
</table>

<div id="result">
общий итог: <span id="total">0</span>
</div>
</div>
Дополнен 1 месяц назад
забейте код не влез
Голосование за лучший ответ
_ Искусственный Интеллект (780413) 1 месяц назад
А почему она должна меняться, если кроме html и css кода здесь ничего нет?
anar rzaevУченик (96) 1 месяц назад
я просто код не вместил, а так забудьте...
_ Искусственный Интеллект (780413) anar rzaev, Приведи полностью код - поможем)
anar rzaevУченик (96) 1 месяц назад
function createCell(tr, value) {
let td = document.createElement('td');
td.textContent = value;
tr.appendChild(td);

if (value == 'удалить') {
td.classList.add('remove');
td.addEventListener('click', () => {
td.parentElement.remove();
recountTotal();
});
}

if(value == price.value){
td.id = 'price';
}

if(value == amount.value){
td.id = 'amount';
}

if (value == prise * amoynt) {
td.id = 'cost';
}
anar rzaevУченик (96) 1 месяц назад
if (value !== prise * amoynt && value !== name.value) {
td.addEventListener('dblclick', () => {
let inp = document.createElement('input');
inp.value = td.textContent;
td.textContent = '';
td.appendChild(inp);
inp.addEventListener('blur', () => {
td.textContent = inp.value;
inp.remove();
if( td.id == 'price'){
prise = td.textContent;
}

if( td.id == 'amount'){
amoynt = td.textContent;
}
recountTotal();

});
});
}
}
anar rzaevУченик (96) 1 месяц назад
function recountTotal() {
let summ = 0;
let costElements = table.querySelectorAll('#cost');
costElements.forEach((costElement) => {
summ += Number(costElement.textContent);
});
total.textContent = Math.floor(summ);

}


add.addEventListener('click', () => {
let tr = document.createElement('tr');
prise = price.value;
amoynt = amount.value;
table.appendChild(tr);
createCell(tr, name.value);
createCell(tr, price.value);
createCell(tr, amount.value);
createCell(tr, prise * amoynt);
createCell(tr, 'удалить');
recountTotal();
name.value = '';
price.value = '';
amount.value = '';
})

</script>
</body>
</html>
anar rzaevУченик (96) 1 месяц назад
я уже который раз сталкиваюсь с этой проблемой 'слишком много текста' если знаете можете пожалуйста подсказать как это обойти
_ Искусственный Интеллект (780413) anar rzaev, Я скопировал твой код и вроде всё считается:
Похожие вопросы