簡體   English   中英

如何加載 CSV 文件以在 HTML5 頁面上顯示並使用搜索框對其進行過濾?

[英]How to load CSV file to display on HTML5 page and have search boxes to filter it?

我需要一個 HTML5 文檔,它在頁面加載時讀取 CSV 文件,該文件將在本地/我的網站/我們的服務器上托管。 CSV 文件將有 3 個列表:部門、類別、產品類型。 頁面需要有 3 個搜索框(每個搜索框一個)來搜索/過濾部門/類別/產品類型的某些關鍵字。

我對網絡開發和 HTML5/jQuery 完全陌生,我有以下工作,您必須手動選擇文件,然后單擊上傳以顯示內容。 我正在考慮更換

reader.readAsText($("#fileUpload")[0].files[0]);

reader.readAsText(string filename);

原因是 - 我已經知道文件名,所以可以指定它,但我知道你不能將字符串傳遞給

reader.readAsText

反正我的代碼如下:

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>CSV Downloader</title>
</head>
<body>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
    <script type="text/javascript">
    $(function () {
        $("#upload").bind("click", function () {
            var regex = /^([a-zA-Z0-9\s_\\.\-:])+(.csv)$/;
            var localCSVfile = "C:\Users\User1\Desktop\Temp\Test for HTML5.csv";
            var test1 = false;
            if (regex.test(localCSVfile.toLowerCase())) {
                test1 = true;
                if (typeof (FileReader) != "undefined") {
                    var reader = new FileReader();
                    reader.onload = function (e) {
                        var table = $("<table />");
                        var rows = e.target.result.split("\n");

                    for (var i = 0; i < rows.length; i++) {
                        var row = $("<tr />");
                        var cells = rows[i].split(",");
                        for (var j = 0; j < cells.length; j++) {
                            var cell = $("<td />");
                            cell.html(cells[j]);
                            row.append(cell);

                        }
                        table.append(row);
                    }

                    $("#dvCSV").html('');
                    $("#dvCSV").append(table);

                }
                reader.readAsText($("#fileUpload")[0].files[0]);
            } else {
                alert("This browser does not support HTML5.");
            }
        } else {
            alert("Please upload a valid CSV file.");
        }
    });
});
</script>
<input type="file" id="fileUpload" />
<input type="button" id="upload" value="Upload" />
<hr />
Department:<br>
<input type="text" name="department">
<br>
Categories:<br>
<input type="text" name="categories">
<br>
Product Types:<br>
<input type="text" name="producttypes">
<br>
<div id="dvCSV">
</div>
</body>
</html>

我不想要點擊/上傳按鈕/功能,因為我希望在頁面加載時自動加載 CSV 文件,而且 3 個搜索框實際上應該過濾 CSV 文件中的相應列表並顯示它(當前搜索框做什么都不做)。

試着改變這個: $("#upload").bind("click",function ()$(document).ready(function()

如果這對您有幫助,請將此標記為答案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM