首頁  >  問答  >  主體

按日期將傳回的資料分割

<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 => { Designacao = data[i].Designacao; Capitulo = data[i].Capitulo; Data = data[i].Data; if (Data != Data) { 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">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); })</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>我打算按天分開結果。例如,在第12個結果之前,顯示在if內部的標題,然後只有在傳回第13個結果時再次顯示標題</p> <p>我嘗試使用if來實現預期的效果,但它不起作用,它從未返回標題。我指的標題是if內部的這個:</p> <pre class="brush:php;toolbar:false;"><div class="card-header">Data Passagem de Turno - ${Data}</div></pre> <p><br /></p>
P粉986028039P粉986028039433 天前499

全部回覆(1)我來回復

  • 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>

    回覆
    0
  • 取消回覆