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
});
}
Это меньше сниппет заинтересован этим вопросом:Экранирование символов 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>');
Это делает работу отлично (он выводит законный якорь с правильными данными), за исключением случаев, когда в звание документ (выходной переменной {2}
) присутствует символ, как двойные кавычки (") синтаксис якорь будет ввернут:.
Нужно ли мне избегать/заменять двойные кавычки с помощью функции, например replace? Как я могу это сделать?
Можете ли вы предоставить пример работы с библиотеками JavaScript, включенными в https://jsfiddle.net/? –
Hi Quasimodo, это JSFiddle: https://jsfiddle.net/multiformeingegno/xyqF7/15/ – MultiformeIngegno
См. Jsfiddle в моем ответе. –