I am attempting to truncate a book title that is retrieved from my db to print on a bar code label. I can’t truncate it from the query as I need to entire title to appear in a table on the same page. Here is what I have:
$.ajax({
type: "POST",
url: "advanceProcess.php",
dataType: "json",
data: ({sourceID: $('#sourceID').val(), fromDate: $('#fromDate').val(), toDate: $('#toDate').val()}),
success: function(data){
if(data.isbn == null ){
$("#acctRecords").append('<tr><td>No Records Found</td></tr>');
}else{
//append general data
for(var x=0;x<data.isbn.length;x++)
{
$("#acctRecords").append('<tr><td id="tableSKU">'+data.tempsku[x]+
'</td><td id="tableISBN">'+data.isbn[x]+
'</td><td id="tableTitle">'+data.title[x]+
'</td><td id="tableOrderid">'+data.orderId[x]+
'</td><td id="tableQtyBought">'+data.quantity[x]+
'</td><td id="tableCost">'+data.cost[x]+
'</td><td id="tabledateCreated">'+data.dateCreated[x]+
'</td><td id="tableWeight">'+data.weight[x]+
'</td><td id="tableCheckNumber">'+data.checkNumber[x]+'</td></tr>');
}// end of for loop
//refreshes the tablesorter plugin
$("#acctRecords").trigger("update");
//Print the bar codes
sku = data.tempsku;
title = data.title[x];
//console.log(JSON.stringify(data));
title = title.substr(0,16);
var x=0;
for (x=0;x<title.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">      '+sku[x]+'</div><br/><div class="title">'+title[x]+
'</div></div><br/><div class="page-break"></div>';
indexGlobal++;
}
Everything workd fine, except the title is too long. Currently I am getting an error that states: TypeError: title.substr is not a function. I have done some research on here and on Google and it seems that my code is correct. Any ideas?
EDIT: here are the results of the JSON:
"title":["Understanding and Applying Medical Anthropology","The Ethical Chemist : Professionalism and Ethics in Science","Magic, Witchcraft, and Religion: A Reader in the Anthropology of Religion","Principles of Cancer Biology","AIDS and Accusation: Haiti and the Geography of Blame","In Search of Respect: Selling Crack in El Barrio (Structural Analysis in the Social Sciences)"]
EDIT 2: I updated the script to show the entire ajax call and how the results are returned.
You are using multiple titles, in order to just get the first one from the array:
If you want to build barcodes for each title: