我有一个显示条形码图像的代码,但它只会显示一次图像

时间:2015-05-15 11:55:18

标签: c# asp.net asp.net-mvc-4

我正在努力显示生成并存储在日期库中的条形码。现在,我可以从数据库中获取条形码编号,并使用code39.js以HTML格式显示图像。我的代码是滚滚它只显示图像我想要显示所有图像,然后下载产品标签。

<div class="panel panel-info ">
<div class="panel panel-heading">
    Bar Codes
</div>
<table class="table table-striped">

    <tr>
        <th>Product Name</th>
        <th>Quantity</th>

    </tr>
    @foreach (var items in Model.BarCodeItems)
    {
        <tr>
            <td>
                @for (int i = 0; i <= @items.Quantity;i++ )
                {
                <div id="externalbox" style="width:4in">
                    <div id="inputdata">@items.BarCode</div>
                </div>
                <br />
                }   
            </td>
            <td>
                @items.Name
                @items.Quantity
            </td>

        </tr>

    }
</table></div>

&#13;
&#13;
<script type="text/javascript">

  function get_object(id) {
   var object = null;
   if (document.layers) {
    object = document.layers[id];
   } else if (document.all) {
    object = document.all[id];
   } else if (document.getElementById) {
    object = document.getElementById(id);
   }
   return object;
  }
get_object("inputdata").innerHTML=DrawCode39Barcode(get_object("inputdata").innerHTML,8);

</script>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

您使用的是ID,它必须是唯一的。尝试使用类,如下所示:

<div class="externalbox" style="width:4in">
    <div class="inputdata">@items.BarCode</div>
</div>

在你的剧本中:

 $('.inputdata).each(function() {
    var code = $(this).html();
    $(this).html(DrawCode39Barcode(code,8));
 });

如果你不想使用jQuery:

var x = document.getElementsByClassName("inputdata");
for (var i = 0; i < x.length; i++) {
    var code = x[i].innerHtml;
    x[i].innerHtml = DrawCode39Barcode(code,8);
}