按日期对返回的数据进行分割
P粉986028039
P粉986028039 2023-08-14 15:41:44
0
1
398
<p>我按照以下方式返回我的表单,其中我对第12个和第13个有两个预期结果。</p> <p><br /></p> <pre class="snippet-code-js lang-js prettyprint-override"><code>var data = [{ Designacao: "Micro-ondas1", Capitulo: "Cozinha", Data: "2023-08-12", }, { Designacao: "Exaustor cinzento 1", Capitulo: "", Data: "2023-08-12", }, { Designacao: "Mesa - Castanha -8 Lugares", Capitulo: "Sala", Data: "2023-08-13" }, { Designacao: "cama", Capitulo: "Quarto", Data: "2023-08-13", }, ]; var linha = ``; Object.keys(data).forEach(i =&gt; { Designacao = data[i].Designacao; Capitulo = data[i].Capitulo; Data = data[i].Data; if (Data != Data) { linha += `&lt;div class="card-header"&gt;Data Passagem de Turno - ${Data}&lt;/div&gt;`; } linha += `&lt;div class="row col-md-12"&gt; &lt;div class="col-md-4"&gt; &lt;p class="form-label"&gt;Data &lt;/p&gt; &lt;input type="text" class="form-control" name="dataen" value="${Data}"&gt; &lt;/div&gt; &lt;div class="col-md-3"&gt; &lt;p class="form-label"&gt;Código Utente &lt;/p&gt; &lt;input type="text" class="form-control" name="codigoen" value="${Capitulo}" disabled="disabled"&gt; &lt;/div&gt; &lt;div class="col-12"&gt; &lt;p class="form-label"&gt;Diário de Enfermagem &lt;/p&gt; &lt;textarea rows="6" class="form-control" name="didiarenf" &gt; ${Designacao} &lt;/textarea&gt; &lt;/div&gt;`; $(".histpturno").html(linha); })</code></pre> <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"&gt;&lt;/script&gt; &lt;div class="histpturno"&gt;&lt;/div&gt;</code></pre> <p><br /></p> <p>我打算按天分开结果。例如,在第12个结果之前,显示在if内部的标题,然后只有在返回第13个结果时再次显示标题</p> <p>我尝试使用if来实现预期的效果,但它不起作用,它从不返回标题。我指的标题是if内部的这个:</p> <pre class="brush:php;toolbar:false;">&lt;div class="card-header"&gt;Data Passagem de Turno - ${Data}&lt;/div&gt;</pre> <p><br /></p>
P粉986028039
P粉986028039

全部回复(1)
P粉512363233

这应该很明显,这永远不会成立,对吧?在比较运算符两边的读取访问之间,Data不会发生变化。

您需要将当前值与之前处理的记录的值进行比较。最简单的方法是将之前的值存储到一个变量中,并将其初始化为实际数据中不会出现的值(这样在第一条记录上检查时将返回true)。

var data = [{
    Designacao: "Micro-ondas1",
    Capitulo: "Cozinha",
    Data: "2023-08-12",
  },
  {
    Designacao: "Exaustor cinzento 1",
    Capitulo: "",
    Data: "2023-08-12",
  },
  {
    Designacao: "Mesa - Castanha -8 Lugares",
    Capitulo: "Sala",
    Data: "2023-08-13"
  },
  {
    Designacao: "cama",
    Capitulo: "Quarto",
    Data: "2023-08-13",
  },
];

var linha = ``;
var prevData = null; // initialize

Object.keys(data).forEach(i => {

  Designacao = data[i].Designacao;
  Capitulo = data[i].Capitulo;
  Data = data[i].Data;

  if (Data !== prevData) { // compare; for safety using strict type checking
    linha += `<div class="card-header">Data Passagem de Turno - ${Data}</div>`;
  }
  prevData = Data; // update, so that this will hold the correct "previous" record on the next iteration

  linha += `<div class="row col-md-12">
            <div class="col-md-4">
              <p class="form-label">Data </p>
              <input type="text" class="form-control" name="dataen" value="${Data}">
            </div>
            <div class="col-md-3">
              <p class="form-label">Código Utente </p>
              <input type="text" class="form-control" name="codigoen" value="${Capitulo}" disabled="disabled">
            </div>
            <div class="col-12">
              <p class="form-label">Diário de Enfermagem </p>
              <textarea rows="6" class="form-control" name="didiarenf" > ${Designacao} </textarea>
            </div>`;

  $(".histpturno").html(linha);

})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div class="histpturno"></div>
热门教程
더>
最新下载
더>
网站特效
网站源码
网站素材
프론트엔드 템플릿
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!