function drawVisualization() {
var query = new google.visualization.Query('http://spreadsheets.google.com/tq?key=XXXXXXX');
query.setQuery('SELECT B, C, D, E, F, G, H where upper(B) like upper("%<?php echo $search; ?>%") or upper(D) like upper("%<?php echo $search; ?>%") or upper(E) like upper("%<?php echo $search; ?>%") or upper(F) like upper("%<?php echo $search; ?>%") order by G DESC label G "Data"');
query.send(handleQueryResponse);
}
function handleQueryResponse(response) {
if (response.isError()) {
alert('Error in query: ' + response.getMessage() + ' ' + response.getDetailedMessage());
return;
}
var data = response.getDataTable();
var formatter = new google.visualization.PatternFormat(
'<a href="{6}" target="_blank" onclick="var that=this;_gaq.push([\'_trackEvent\',\'Download archivio materiali\',\'{2}\',this.href]);setTimeout(function(){location.href=that.href;},200);return false;">{2}</a>');
// Apply formatter and set the formatted value of the first column.
formatter.format(data, [0, 1, 2, 3, 4, 5, 6], 2);
var view = new google.visualization.DataView(data);
view.setColumns([2, 0, 1, 4, 5]); // Create a view with the first column only.
visualization = new google.visualization.Table(document.getElementById('table'));
visualization.draw(view, {
legend: 'bottom',
allowHtml: true
});
}
Dies ist die kleineren Schnipsel interessieren diese Frage:Escaping von Zeichen in Javascript
var formatter = new google.visualization.PatternFormat('<a href="{6}" target="_blank" onclick="var that=this;_gaq.push([\'_trackEvent\',\'Download archivio materiali\',\'{2}\',this.href]);setTimeout(function(){location.href=that.href;},200);return false;">{2}</a>');
Es funktioniert in Ordnung (es gibt einen legit Anker mit den richtigen Daten), mit der Ausnahme, wenn im Titel der Dokument (Ausgang durch die Variable {2}
) vorhanden ist, ein Zeichen wie ein doppeltes Anführungszeichen (") der Anker Syntax würde geschraubt erhalten.
Muss ich die doppelten Anführungszeichen durch eine Funktion wie replace ersetzen/ersetzen? Wie kann ich das machen?
Können Sie ein laufendes Beispiel mit JavaScript-Bibliotheken bereitstellen, die auf https://jsfiddle.net/ enthalten sind? –
Hallo Quasimodo, das ist der JSFiddle: https://jsfiddle.net/multiformeingegno/xyqF7/15/ – MultiformeIngegno
Siehe die Jfiddle in meiner Antwort. –