Как создать кнопку HTML на основе содержимого базы данных? - PullRequest
0 голосов
/ 06 февраля 2019

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

Мой Javascript выглядит следующим образом:

var Datastrore = require("nedb");
var db = new Datastrore({ filename: "macros.db" });
db.loadDatabase(function(err) {
  db.find({}, function(err, docs) {
    console.log(docs); //all docs
  });
});

Это приводит кв консоли моя информация о БД:

0: {name: "asas", command: "asas", _id: "6L83tJLl7ks0iS0b"}
1: {name: "asas", command: "asas", _id: "9kXMI7DdJBWK0L1W"}
2: {name: "qw", command: "qw", _id: "UmOaMJxYjMNjcEQ0"}

Теперь я не могу понять, как я могу использовать эту информацию для динамического создания кнопок на моей HTML-странице.

Ответы [ 2 ]

0 голосов
/ 06 февраля 2019

Во-первых, вам нужно выполнить цикл в каждой записи:

for(var data in docs){

    var btn = document.createElement('button') //creates a new button element
    var t = document.createTextNode(data.name) //assuming button's name = 'name'

    btn.appendChild(t)
    btn.id = data._id
    btn.onclick =  data.command //assuming 'command' is a defined function

    document.body.appendChild(btn)
}
0 голосов
/ 06 февраля 2019
for (var doc in docs) {
      var element = document.createElement("button");
      //Assign different attributes to the element. 
      element.setAttribute("name", doc.name);
      element.innerHTML = doc.name
      element.setAttribute("id", doc._id);           
      //element.setAttribute("onclick", ); If you wish to add click event

      //Append the element in page (in span).  
      document.body.appendChild(element);
}
...