Не могу передать идентификатор документа в функцию javascript с руля - PullRequest
0 голосов
/ 24 апреля 2018

Я сгенерировал список элементов из базы данных и хотел бы добавить кнопку удаления к каждой записи для удаления выбранного элемента.Я знаю, что onclick принимает событие, но я не уверен, как передать идентификатор базы данных, поэтому я знаю, какую запись удалить.Вот мой шаблон (руль):

<ul class="bill-list">
  {{#each bills}}
    <li>{{this.name}}</li>
    <button>Edit</button>
    <button onclick="deleteBill({{this._id}})">Delete</button>
  {{/each}}
</ul>

Когда я нажимаю удалить, я получаю эту ошибку: Uncaught SyntaxError: Неверный или неожиданный токен

Есть ли способ извлечь эти данные или идентификаторс события?

Моя функция только консольные журналы:

function deleteBill(bill) {
  console.log(bill);
}

1 Ответ

0 голосов
/ 25 апреля 2018

Вот фрагмент с вашим кодом, вы увидите, что он должен работать:

var obj = { "bills" : [{"_id":1,"name":"name1"},{"_id":2,"name":"name2"},{"_id":3,"name":"name3"}]};

var source   = document.getElementById("template").innerHTML;
var template = Handlebars.compile(source);
document.getElementById("output").innerHTML = template(obj);

function deleteBill(bill) {
  console.log(bill);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.0.11/handlebars.js"></script>

<script id="template" type="text/x-handlebars-template">
<ul class="bill-list">
{{#each bills}}
    <li>{{this.name}}
    <button>Edit</button>
    <button onclick="deleteBill({{this._id}})">Delete</button>
    </li>
{{/each}}
</ul>
</script>

<div id="output"></div>
...