Sto sviluppando una pagina Web in Wordpress. La pagina web deve avere una casella combinata con tutte le contee. Ho un set di dati in formato csv che ha alcune righe di 10k per tutte queste contee. Quando l'utente seleziona una contea nel menu a discesa, desidero solo i dati della contea selezionati visualizzati nella pagina Web. Questo è il mio requisitoJavascript che carica il file CSV in un array
in Wordpress, la mia pagina web sto aggiungendo il file js utilizzando
<script type="text/javascript" src="http://xxx/wp content/uploads/2014/05/countyList1.js"></script>
e il codice per pagina web discesa è
<select name="county" id="county" onload="setCounties();" onchange="getSelectedCountyData();"></select>
In countyList1.js archiviare ho le setCounties() e Funzioni getSelectedCountyData().
Finora riesco a vedere il menu a discesa con l'elenco delle contee. Non so come leggere il file CSV e applicare il filtro di contea selezionato a questo elenco.
Ho provato l'oggetto FileReader e posso caricare il contenuto CSV sulla pagina Web ma non voglio che l'utente selezioni il CSV. Ho già il set di dati.
Sto cercando di utilizzare questa libreria jquery.csv-0.71 da questo post SO How to read data From *.CSV file using javascript? ma ho bisogno di aiuto.
Ecco il codice che viene chiamato quando viene selezionata una contea
function getSelectedCountyData() {
cntrySel = document.getElementById('county');
//selCty = countyList[cntrySel.value];
handleFiles();
}
function handleFiles() {
$(document).ready(function() {
$.ajax({
type: "GET",
url: "D:\Docs\Desktop\csvfile.csv",
dataType: "csv",
success: function (data) { processData(data); }
});
});
}
function processData(allText) {
var allTextLines = allText.split(/\r\n|\n/);
var headers = allTextLines[0].split(',');
var lines = [];
for (var i = 1; i < allTextLines.length; i++) {
var data = allTextLines[i].split(',');
if (data.length == headers.length) {
var tarr = [];
for (var j = 0; j < headers.length; j++) {
tarr.push(headers[j] + ":" + data[j]);
}
lines.push(tarr);
}
}
console.log(lines);
drawOutput(lines);
}
function drawOutput(lines) {
//Clear previous data
document.getElementById("output").innerHTML = "";
var table = document.createElement("table");
for (var i = 0; i < lines.length; i++) {
var row = table.insertRow(-1);
for (var j = 0; j < lines[i].length; j++) {
var firstNameCell = row.insertCell(-1);
firstNameCell.appendChild(document.createTextNode(lines[i][j]));
}
}
document.getElementById("output").appendChild(table);
}
@Teemu Dopo averlo rimosso, ottengo che l'errore non è in grado di leggere la proprietà ajax di undefined. Grazie dell'aiuto. – Aqua267