Javascript Filereader按名称排序

安迪·海达尔

我正在尝试按名称列出我的图像 preuploader,但遇到了一些问题。我有十几个名为 img001 - img100 的图像,但是当我输入结果显示文件按图像大小排序时。这是我的代码

<html>
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
        <title>generate nama ikan</title>
    </head>
    <body>
        <div class="flex-center position-ref full-height">
            <div class="container">
              <div class="row">
                <div class="col-md-12">
                  <h1>Nama Ikan</h1>
                  <input id="ingambar" type="file" multiple />
                </div>
              </div>
              <div class="row">
                <div class="col-md-12">
                  <div class="content">
                      <br />
                        <table class="table">
                          <thead>
                            <th>gambar</th><th>nama</th>
                          </thead>
                          <tbody></tbody>
                        </table>
                  </div>
                </div>
              </div>
            </div>
        </div>
    </body>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
    <script>
    $('#ingambar').change(function () {
        for (var i=0, len = this.files.length; i < len; i++) {
            (function (j, self) {
                var reader = new FileReader()
                reader.onload = function (e) {
                    $('tbody').append('<tr><td><img width="100px" src="' + e.target.result + '"></td><input class="form-control" type="text" value="' + self.files[j].name.slice(0, -4) + '" name="namaikan[]" disabled/></td></tr>')
                }
                reader.readAsDataURL(self.files[j])
            })(i, this);
        }
    });
    </script>
</html>

有人可以告诉我如何完成它吗?

罗里·麦克罗森

为了实现这一点,您可以sort()根据行中input包含的值在附加新行后添加表行试试这个:

$('#ingambar').change(function() {
  for (var i = 0, len = this.files.length; i < len; i++) {
    (function(j, self) {
      var reader = new FileReader()
      reader.onload = function(e) {
        $('tbody').append('<tr><td><img width="100px" src="' + e.target.result + '"></td><td><input class="form-control" type="text" value="' + self.files[j].name.slice(0, -4) + '" name="namaikan[]" disabled/></td></tr>');
        sortFiles();
      }
      reader.readAsDataURL(self.files[j])
    })(i, this);
  }
});

function sortFiles() {
  $('.table tbody tr').sort(function(a, b) {
    var $a = $(a).find('input'),
      $b = $(b).find('input');
    return $a.val().localeCompare($b.val());
  }).appendTo('.table tbody');
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>

<div class="flex-center position-ref full-height">
  <div class="container">
    <div class="row">
      <div class="col-md-12">
        <h1>Nama Ikan</h1>
        <input id="ingambar" type="file" multiple />
      </div>
    </div>
    <div class="row">
      <div class="col-md-12">
        <div class="content">
          <br />
          <table class="table">
            <thead>
              <th>gambar</th>
              <th>nama</th>
            </thead>
            <tbody></tbody>
          </table>
        </div>
      </div>
    </div>
  </div>
</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

javascript FileReader获得名称?

来自分类Dev

Javascript按日期排序

来自分类Dev

在JavaScript中按文件名称拖放排序文件

来自分类Dev

quickblox-我可以使用javascript获取按名称排序的用户列表吗?

来自分类Dev

Javascript-按日期排序?

来自分类Dev

javascript对象按数组排序

来自分类Dev

香草javascript按名称选择

来自分类Dev

如何在Javascript中首先按姓氏然后按名字和中间名对名称数组进行排序

来自分类Dev

按名称字段排序?

来自分类Dev

按名称排序属性

来自分类Dev

如何按名称排序?

来自分类Dev

按JavaScript中的值对字典排序

来自分类Dev

按2列对多维数组排序-JavaScript

来自分类Dev

按日期对JSON数据进行排序javascript

来自分类Dev

按多个键对javascript数组排序

来自分类Dev

如何按值JavaScript排序JSON数据?

来自分类Dev

Cordova Javascript SQLite按DateTime排序

来自分类Dev

表格按JavaScript中的总列排序

来自分类Dev

JavaScript / React按变量JSON键排序

来自分类Dev

Javascript按其他数组的顺序排序

来自分类Dev

按属性值对复杂的Javascript对象排序

来自分类Dev

javascript对象按浮点数排序

来自分类Dev

按JavaScript中Object的属性值排序?

来自分类Dev

按给定顺序对Javascript数组进行排序

来自分类Dev

在 Javascript 中按 ID 排序 div

来自分类Dev

javascript选择按字母顺序排序

来自分类Dev

在 JavaScript 中编写日期和名称的排序?

来自分类Dev

从JavaScript按名称调用PHP函数

来自分类Dev

JavaScript按类名称获取元素