Heim  >  Fragen und Antworten  >  Hauptteil

Teilen Sie die zurückgegebenen Daten nach Datum auf

<p>Ich sende mein Formular wie folgt zurück, wobei ich zwei erwartete Ergebnisse für den 12. und 13. habe. </p> <p><br /></p> <pre class="snippet-code-js lang-js Prettyprint-override"><code>var data = [{ Design: „Micro-ondas1“, Kapitel: „Cozinha“, Daten: „12.08.2023“, }, { Design: „Exaustor cinzento 1“, Kapitel: „“, Daten: „12.08.2023“, }, { Designacao: „Mesa – Castanha –8 Lugares“, Kapitel: „Sala“, Daten: „13.08.2023“ }, { Bezeichnung: „cama“, Kapitel: „Quarto“, Daten: „13.08.2023“, }, ]; var linha = ``; Object.keys(data).forEach(i => { Designacao = data[i].Designacao; Capitulo = data[i].Capitulo; Daten = data[i].Data; if (Daten != Daten) { linha += `<div class="card-header">Data Passagem de Turno - ${Data}</div>`; } linha += `<div class="row col-md-12"> <div class="col-md-4"> <p class="form-label">Daten </p> <input type="text" class="form-control" name="dataen" value="${Data}"> </div> <div class="col-md-3"> <p class="form-label">Benutzercode </p> <input type="text" class="form-control" name="codigoen" value="${Capitulo}" invalid="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); })</code></pre> <pre class="snippet-code-html lang-html Prettyprint-override"><code><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/ jquery.min.js"></script> <div class="histpturno"></div></code></pre> <p><br /></p> <p>Ich werde die Ergebnisse nach Tagen aufteilen. Zeigen Sie beispielsweise vor dem 12. Ergebnis den Titel im If an und zeigen Sie den Titel dann erst wieder an, wenn das 13. Ergebnis zurückgegeben wird. </p> <p>Ich habe versucht, if zu verwenden, um den gewünschten Effekt zu erzielen, aber es funktioniert nicht, der Titel wird nie zurückgegeben. Der Titel, auf den ich mich beziehe, ist dieser in if: </p> <pre class="brush:php;toolbar:false;"><div class="card-header">Datendurchgang - ${Data}</div></pre> <p><br /></p>
P粉986028039P粉986028039433 Tage vor502

Antworte allen(1)Ich werde antworten

  • P粉512363233

    P粉5123632332023-08-15 10:10:49

    这应该很明显,这永远不会成立,对吧?在比较运算符两边的读取访问之间,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>

    Antwort
    0
  • StornierenAntwort