LImit Characters in Java Script Print output

1.1k views Asked by At

I am trying to limit the number of characters printed on a lable with a js file. The part of the code i am having problems with is called by a button and prints the contents from a preview box. Everything is working except the length of the title i am trying to print. When ever i add the code to limit the numbers of characters i get: TypeError: title.substring is not a function title = title.substring(0, 11); any ideas

// To allow for the TEMP SLU's to be printed from the main page in alpha order
$("#barcodesku").live('click', function(){
var title=[];
var sku=[];
var first = "";
var second = "";
var indexGlobal = 0;

    $('#acctRecords tbody tr').each(function()
 {
  sku.push($(this).find('#tableSKU').html());
  title.push ($(this).find('#tableTitle').html());
  
                
        });  //end of acctRecords tbody function
    
    //Print the bar codes
  title = title.substring(0,16);
  var x=0;
  for (x=0;x<sku.length;x++){
   
   
                        first += '$("#'+indexGlobal+'").barcode("'+sku[x]+'", "codabar",{barHeight:40, fontSize:30, output:"bmp"});';
   second += '<div class="wrapper"><img src="../images/temp.jpg" /><div id="'+indexGlobal+
   '"></div><div class="fullSKU">&nbsp &nbsp &nbsp '+sku[x]+'</div><br/><div class="title", {title.substring(0,16)}; >'+title[x]+' </div></div><br/><br/>';
   indexGlobal++;
   
      
    
     
   }
    var barcode =  window.open('','BarcodeWindow','width=200');
   var html = '<html><head><title>Barcode</title><style type="text/css">'+
      '.page-break{display:block; page-break-before:always; }'+
   'body{width: 2in;}'+
   '.wrapper{height: 1in;margin-left:10px;margin-top:5px;margin-right:5px;}'+
   '.fullSKU{float: left;}'+
   '.shortSKU{float: right;font-size:25px;font-weight:bold;}'+
   '.title{float: left;}'+
   '</style><script type="text/javascript"src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.js"></script><script type="text/javascript" src="../barcode/jquery-barcode.js"></script><script>$(document).ready(function() {'+first+'window.print();window.close();});</script></head><body>'+second+'</body></html>';
   barcode.document.open();
   barcode.document.write(html);
   barcode.document.close();
   
}); // end of click function

1

There are 1 answers

0
Konstantin Dinev On BEST ANSWER

From your code I see title is an array of titles. You need to do the following:

for (var i = 0; i < title.length; i++) {
    title[i] = title[i].substring(0, 11); 
}