Заполнить таблицу данными JSON, основанными на разобранном файле CSV в Jquery, JS
Я пытался весь день динамически заполнять таблицу. Цель приложения состоит в том, чтобы загрузить CSV-файл и проанализировать его в JSON с помощью Papaparse (отличная среда от CSV до JSON), а затем заполнить таблицу этими JSON-данными, используя DynaTable.js. Я могу быть слепым со своим собственным кодом, и я был бы очень признателен за то, как это сделать.:)
Пока это мой код (не обращайте внимания на беспорядок, я собираюсь очистить его после установки основной функции).
<!DOCTYPE html>
<html>
<head>
<title>CSV Parser</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, maximum-scale=1.0">
<meta name="theme-color" content="#ffffff">
<link rel="stylesheet" href="styles/bootstrap.min.css">
<link rel="stylesheet" href="styles/filedrop.css">
<script src="scripts/jquery-2.1.4.min.js"></script>
<script src="scripts/bootstrap.min.js"></script>
<script src="scripts/papaparse.min.js"></script>
<script src="scripts/jquery.dynatable.js"></script>
<script>
var data;
function handleFileSelect(evt) {
var file = evt.target.files[0];
Papa.parse(file, {
header: true,
dynamicTyping: true,
complete: function (results) {
data = results;
localStorage.setItem('dataStuff', JSON.stringify(data));
}
});
}
$(document).ready(function () {
$("#csv-file").change(handleFileSelect);
});
</script>
</head>
<body>
<main>
<header>
<div class="jumbotron">
<div class="container">
<p>CSV Parser</p>
</div>
</div>
</header>
<h1>Load CSV-file</h1>
<input type="file" id="csv-file" name="files" />
<table id="my-table">
<thead>
<tr>
<th>Phone Number</th>
<th>Email Address</th>
<th>Binding End Date</th>
<th>Terminal Vendor</th>
<th>Terminal Billeba</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
<script>
$.getJSON('dataStuff', function (response) {
$('#my-table').dynatable({
dataset: {
records: response
},
});
});
</script>
</main>
</body>
<footer>
</footer>
</html>
1 ответ
Вы пытались разместить код заполнения данных на complete
обратный вызов Papa.parse
? Как это:
Papa.parse(file, {
header: true,
dynamicTyping: true,
complete: function (results) {
data = results;
localStorage.setItem('dataStuff', JSON.stringify(data));
$('#my-table').dynatable({
dataset: {
records: results
}
});
}
});