jQuery 实现打印条码,现在输入SN、名称和打印数量,例如SN为’SNNumber‘,数量为3,则打印出3个条码,分别为SNNumber_1,SNNumber_2,SNNumber_3。条码规格为50*25mm。sn显示在条码上方,名称显示在条码下方
时间: 2024-05-13 19:18:24 浏览: 108
可以使用 jQuery 和一个条码生成库:JsBarcode。
首先,在你的 HTML 文件中引入 jQuery 和 JsBarcode 库:
```html
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://cdn.jsdelivr.net/jsbarcode/3.11.0/JsBarcode.all.min.js"></script>
```
然后,在页面中创建一个用于显示条码的容器:
```html
<div id="barcode-container"></div>
```
接下来,在 JavaScript 文件中编写生成条码的函数:
```js
function generateBarcode(sn, name, count) {
var container = $('#barcode-container');
container.empty(); // 清空容器
// 循环生成指定数量的条码
for (var i = 1; i <= count; i++) {
var barcodeId = sn + '_' + i; // 每个条码的 ID
var barcodeHtml = `
<div class="barcode-wrapper">
<div class="barcode-sn">${sn}</div>
<svg id="${barcodeId}" class="barcode"></svg>
<div class="barcode-name">${name}</div>
</div>
`;
container.append(barcodeHtml); // 添加到容器中
JsBarcode(`#${barcodeId}`, barcodeId, {
format: 'CODE128',
width: 2,
height: 40,
displayValue: false
}); // 生成条码
}
}
```
这个函数接受三个参数:SN、名称和打印数量。它会循环生成指定数量的条码,并将它们添加到容器中。对于每个条码,它会使用 JsBarcode 库生成一个 SVG 图形,并将 SN 和名称添加到图形中。
最后,在页面中添加一个按钮或表单,允许用户输入 SN、名称和打印数量,并调用 `generateBarcode` 函数:
```html
<input id="sn-input" type="text" placeholder="SN">
<input id="name-input" type="text" placeholder="名称">
<input id="count-input" type="number" value="1">
<button id="print-button">打印</button>
<script>
$('#print-button').click(function() {
var sn = $('#sn-input').val();
var name = $('#name-input').val();
var count = parseInt($('#count-input').val());
generateBarcode(sn, name, count);
});
</script>
```
这个代码会在用户点击“打印”按钮时获取输入的值,并调用 `generateBarcode` 函数生成条码。
完整的示例代码如下:
```html
<!DOCTYPE html>
<html>
<head>
<title>打印条码</title>
<meta charset="utf-8">
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://cdn.jsdelivr.net/jsbarcode/3.11.0/JsBarcode.all.min.js"></script>
<style>
.barcode-wrapper {
display: inline-block;
text-align: center;
margin-right: 20px;
}
.barcode-sn {
font-size: 12px;
margin-bottom: 5px;
}
.barcode-name {
font-size: 12px;
margin-top: 5px;
}
</style>
</head>
<body>
<input id="sn-input" type="text" placeholder="SN">
<input id="name-input" type="text" placeholder="名称">
<input id="count-input" type="number" value="1">
<button id="print-button">打印</button>
<div id="barcode-container"></div>
<script>
function generateBarcode(sn, name, count) {
var container = $('#barcode-container');
container.empty(); // 清空容器
// 循环生成指定数量的条码
for (var i = 1; i <= count; i++) {
var barcodeId = sn + '_' + i; // 每个条码的 ID
var barcodeHtml = `
<div class="barcode-wrapper">
<div class="barcode-sn">${sn}</div>
<svg id="${barcodeId}" class="barcode"></svg>
<div class="barcode-name">${name}</div>
</div>
`;
container.append(barcodeHtml); // 添加到容器中
JsBarcode(`#${barcodeId}`, barcodeId, {
format: 'CODE128',
width: 2,
height: 40,
displayValue: false
}); // 生成条码
}
}
$('#print-button').click(function() {
var sn = $('#sn-input').val();
var name = $('#name-input').val();
var count = parseInt($('#count-input').val());
generateBarcode(sn, name, count);
});
</script>
</body>
</html>
```
阅读全文