Loading...
Ivelinka avatar Ivelinka 24 Точки

Проблем с 01. Car Dealers от JS Advanced Exam - 25 Jun 2022

Здравейте, получавам 23/100, някой може ли да ми помогне ?

Благодаря :)

задача:

https://judge.softuni.org/Contests/Practice/Index/3519#0

код:

window.addEventListener("load", solve)

 

function solve() {

   let makeEl = document.getElementById("make");

   let modelEl = document.getElementById("model");

   let yearEl = document.getElementById("year");

   let fuelEl = document.getElementById("fuel");

   let priceEl = document.getElementById("original-cost");

   let sellEl = document.getElementById("selling-price");

   

   let publishBtn = document.getElementById("publish");

   let currDif = 0;

 

   publishBtn.addEventListener("click", publish);

   function publish(e) {

     e.preventDefault();

 

     if (makeEl.value === ""

     || modelEl.value === ""

     || yearEl.value === ""

     || priceEl.value === ""

     || sellEl.value === ""

     || fuelEl.value === "") {

       return

     };

 

     if (priceEl.value < 0 || sellEl.value < 0 || priceEl.value >= sellEl.value) {

       return;

     }

 

     let make = makeEl.value;

     let model = modelEl.value;

     let year = yearEl.value;

     let fuel = fuelEl.value;

     let price = priceEl.value;

     let sell = sellEl.value;

 

     let tBody = document.getElementById("table-body");

     let row = document.createElement("tr");

    // row.setAttribute("class", "row")

     //row.classList.add("row")

     row.className = "row"

 

     let tdMake = document.createElement("td");

     tdMake.textContent = make;

 

     let tdModel = document.createElement("td");

     tdModel.textContent = model;

 

     let tdYear = document.createElement("td");

     tdYear.textContent = year;

 

     let tdFuel = document.createElement("td");

     tdFuel.textContent = fuel;

 

     let tdPrice = document.createElement("td");

     tdPrice.textContent = price;

 

     let tdSell = document.createElement("td");

     tdSell.textContent = sell;

 

     let editBtn = document.createElement("button");

     editBtn.textContent = "Edit";

     editBtn.className = "action-btn edit"

 

     let sellBtn = document.createElement("button");

     sellBtn.textContent = "Sell";

     sellBtn.className = "action-btn sell"

 

     row.appendChild(tdMake);

     row.appendChild(tdModel);

     row.appendChild(tdYear);

     row.appendChild(tdFuel);

     row.appendChild(tdPrice);

     row.appendChild(tdSell);

     row.appendChild(editBtn);

     row.appendChild(sellBtn);

 

     tBody.appendChild(row);

 

     makeEl.value = ""

     modelEl.value = ""

     yearEl.value = ""

     fuelEl.value = ""

     priceEl.value = ""

     sellEl.value = ""

 

     editBtn.addEventListener("click", edit)

 

     function edit(e) {

 

       document.getElementsByClassName("action-btn edit").disabled = true;

       makeEl.value = make;

       modelEl.value = model;

       yearEl.value = year;

       fuelEl.value = fuel;

       priceEl.value = price;

       sellEl.value = sell;

       row.parentNode.remove(row);     

     }

 

     sellBtn.addEventListener("click", sellComm)

 

     function sellComm(e) {

       let ul = document.getElementById("cars-list");

       let li = document.createElement("li");

       li.className = "each-list"

       let span1 = document.createElement("span");

       span1.textContent = `${make} ${model}`;

 

       let span2 = document.createElement("span");

       span2.textContent = year;

 

       let span3 = document.createElement("span");

       span3.textContent = Number(sell) - Number(price);

 

       li.appendChild(span1);

       li.appendChild(span2);

       li.appendChild(span3);

       ul.append(li);

       let profitField = document.getElementById("profit")

       let difference = Number(sell) - Number(price);

       currDif += difference

       profitField.textContent = currDif

       row.parentNode.remove(row);

     }

   }

 }

Тагове:
0
JavaScript Advanced
icowwww avatar icowwww 2791 Точки

Здравей,

1. Бутоните Edit и Sell трябва да са вкарани в елемент td

2. С row.parentNode.remove(row);  използваш remove. Remove се използва за изтриване на самия елемент, трябва да се смени на removeChild

3. Накрая на функция sellCom използваш ul.append(li);. Това не е прието в judge, както е описано в документа с условието. Трябва да е appendChild

4. Трябва да форматираш profit до 2ри знак

5. Това не съм го оправял, защото и без него дава 100/100:

При сравнението priceEl.value >= sellEl.value извършваш сравнение между стринг, което е сравнение по alphabetical order. Например ако имаш Original cost = 2 и Selling price = 10 и сравниш priceEl.value >= sellEl.value ще излезне, че Original cost е по-голямо, защото започва с 2. За да се сравнят правилно трябва да използваш Number()

https://pastebin.com/xcmRJpQd

 

0
Ivelinka avatar Ivelinka 24 Точки

Благодаря !

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.