Creating a table of barcodes using JSBarcode

612 views Asked by At

I am trying to create a table of unique barcodes using node, bootstrap, and ejs. Here are the contents of my .ejs file:

<head>
    <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/JsBarcode.all.min.js"</script>
</head>
    <body>
        <table>
            <thead>
                <tr>
                    <th scope="col">Employee</th>
                </tr>
            </thead>
            <tbody>
                <% employeeObj.forEach(function(obj) { %>
                <tr>
                    <td><%= obj.id %><svg id="barcode"></svg><script>var employee = '<%= obj.id %>'; JsBarcode("#barcode", employee);</script></td>
                </tr>
                <% }); %>
            </tbody>
        </table>
    </body>
</html>

For some reason in each row of the table the barcode is being generated, but every barcode is the exact same value. I tried just putting the string value of obj.id in each row and it displays the different values fine.

What am I doing wrong?

1

There are 1 answers

0
NicLovin On BEST ANSWER

I realized my issue was that the id for every barcode was the same which resulted in the same barcode being display multiple times. The solution to this problem is to have a unique id which could be accomplished like this:

id="<%=obj.id%>"