Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.12.2020, 15:32
Интересующийся
Отправить личное сообщение для mateorich Посмотреть профиль Найти все сообщения от mateorich
 
Регистрация: 21.11.2020
Сообщений: 14

Найти ошибку
Всем привет, мне нужно вывести данные объекта на страницу html и добавить возможность удалять студентов. Но у меня почему-то ничего не выводится на страницу, помогите разобраться в чем ошибка, буду благодарен

<table class="students">
        <thead>
            <tr>
                <th>Name</th>
                <th>Estimate</th>
                <th>Course</th>
                <th>Active</th>
                <th>Action</th>
            </tr>
        </thead>
        <tbody>
            
        </tbody>
    </table>

function Student(){
 this.students = [
  { name: "Ivan", estimate: 4, course: 1, active: true },
  { name: "Petr", estimate: 3, course: 1, active: false },
  { name: "Alex", estimate: 2, course: 4, active: false },
  { name: "Max", estimate: 5, course: 2, active: true },
  { name: "Anton", estimate: 2, course: 3, active: true },
  { name: "Roman", estimate: 3, course: 2, active: false },
  { name: "Vladimir", estimate: 2, course: 4, active: true },
  { name: "Oleg", estimate: 5, course: 3, active: true },
  { name: "Evgeniy", estimate: 5, course: 5, active: true },
  { name: "Pavel", estimate: 3, course: 5, active: true },
  { name: "Danil", estimate: 2, course: 3, active: true },
  { name: "Denis", estimate: 4, course: 4, active: false },
];
}
Student.prototype.render = function(){
let tbody = document.querySelector(".students tbody");
tbody.innerHTML = "";

let self = this;

for (i = 0; i < this.students.length; i++){

  let tr = document.createElement("TR");
  let td = document.createElement("TD");
   td.innerHTML = this.students[i].name;
   tr.appendChild(td);

   td = document.createElement("TD");
   td.innerHTML = this.students[i].estimate;
   tr.appendChild(td);

   td = document.createElement("TD");
   td.innerHTML = this.students[i].course;
   tr.appendChild(td);

   td = document.createElement("TD");
   td.innerHTML = this.students[i].active;
   tr.appendChild(td);

   td = document.createElement("TD");
     td.innerHTML = "Удалить";
     td.addEventListener("click", (function(index) {
         return function(event){
          self.remove(index); 
          self.render();
        };
    })(i));
    tr.appendChild(td);
   tbody.appendChild(tr)
}
};

Student.prototype.remove = function(index){
  let self = this;
  this.students.splice(index, 1);
  self.render();
};

Последний раз редактировалось mateorich, 18.12.2020 в 16:07.
Ответить с цитированием
  #2 (permalink)  
Старый 18.12.2020, 15:49
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

mateorich,
где цикл по массиву из строки 20 ?
Ответить с цитированием
  #3 (permalink)  
Старый 18.12.2020, 16:00
Интересующийся
Отправить личное сообщение для mateorich Посмотреть профиль Найти все сообщения от mateorich
 
Регистрация: 21.11.2020
Сообщений: 14

Поправил
Ответить с цитированием
  #4 (permalink)  
Старый 18.12.2020, 16:03
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

mateorich,
строка 24 где создание tr?
Ответить с цитированием
  #5 (permalink)  
Старый 18.12.2020, 16:07
Интересующийся
Отправить личное сообщение для mateorich Посмотреть профиль Найти все сообщения от mateorich
 
Регистрация: 21.11.2020
Сообщений: 14

Сообщение от рони Посмотреть сообщение
mateorich,
строка 24 где создание tr?
Поправил
Ответить с цитированием
  #6 (permalink)  
Старый 18.12.2020, 16:10
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

mateorich,
строка 60 создание экземпляра Student.
строка 61 создание тела таблицы
и будет вам счастье
Ответить с цитированием
  #7 (permalink)  
Старый 18.12.2020, 16:18
Интересующийся
Отправить личное сообщение для mateorich Посмотреть профиль Найти все сообщения от mateorich
 
Регистрация: 21.11.2020
Сообщений: 14

Сообщение от рони Посмотреть сообщение
mateorich,
строка 60 создание экземпляра Student.
строка 61 создание тела таблицы
и будет вам счастье
Не совсем понял, если вам не сложно можете написать эти две строки?
Ответить с цитированием
  #8 (permalink)  
Старый 18.12.2020, 16:21
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

mateorich,
let s = new Student();
s.render();
Ответить с цитированием
  #9 (permalink)  
Старый 18.12.2020, 16:22
Интересующийся
Отправить личное сообщение для mateorich Посмотреть профиль Найти все сообщения от mateorich
 
Регистрация: 21.11.2020
Сообщений: 14

Сообщение от рони Посмотреть сообщение
mateorich,
let s = new Student();
s.render();
Спасибо большое
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите найти ошибку в коде AndriiS Общие вопросы Javascript 7 10.11.2018 17:28
Помогите найти ошибку SergeyZhuk Мобильный JavaScript 1 17.09.2018 08:41
jQuery ajax - помогите найти ошибку malefikus13 Общие вопросы Javascript 9 12.08.2015 13:36
Помогите найти ошибку в вёрстке OlegALL (X)HTML/CSS 1 03.02.2014 11:58
Помогите найти ошибку((( hacker_007 Общие вопросы Javascript 5 28.01.2011 17:37