繁体   English   中英

如何制作一个按钮,单击该按钮会显示 node.js 中的数据?

[英]How do I make a button that, when clicked, displays data in node.js?

所以我创建了一个按钮,以及一个显示来自我的数据库的数据的表格。 但是,我希望该数据仅在单击按钮时出现。 因此,当单击按钮时,我希望出现数据库中特定表中的随机行。 在此处输入图像描述

`<button id="breakfast2">Breakfast</button>
 <table id="mealTableContainer2">
            <thead>
                <tr>
                    <th id="mealname">Meal Name</th>
                    <th id="mealcalories">Calories</th>
                    <th id="mealtype">Type of Meal</th>
                    
                </tr>
            </thead>

            <tbody id="mealContainer2"></tbody>
  </table>`

我目前唯一的 Javascript 是为了将我的数据库放入该表中,但我真的只希望它在我单击早餐按钮时出现。 我只是想不通怎么办; 如果有人能非常简单地向我解释,我将不胜感激!

console.log('Data2 received')
$.ajax({
    url: 'http://localhost:5000' + "/read-recordsrandom",
    type: 'get',
    success: function(response) {
        var data2 = JSON.parse(response);
        if(data2.msg === "SUCCESS"){
            console.log(data2.meal)
            createMealTable2(data2.meal);
        } else {
            console.log(data2.msg);
        }
    },
    error: function(err){
        alert(err);
    }

});

}

function createMealTable2(data2) { 
var tableHTML2 = " ";
console.log("Test");
for(var i=0; i < data2.length; i++){
    tableHTML2 += "<tr>";
    tableHTML2 += "<td>" + data2[i].mealname + "</td>";
    tableHTML2 += "<td>" + data2[i].mealcalories + "</td>"
    tableHTML2 += "<td>" + data2[i].mealtype + "</td>";
    
    
    tableHTML2 += "</tr>";
}

$('#mealContainer2').html(tableHTML2);   

}

先隐藏再显示

 document.getElementById("breakfast2").addEventListener('click', function(event) { document.getElementById("mealTableContainer2").classList.remove('hidden'); });
 .hidden { display: none; }
 <button id="breakfast2">Breakfast</button> <table id="mealTableContainer2" class="hidden"> <thead> <tr> <th id="mealname">Meal Name</th> <th id="mealcalories">Calories</th> <th id="mealtype">Type of Meal</th> </tr> </thead> <tbody id="mealContainer2"></tbody> </table>

如果我是对的,默认情况下,该表应该是隐藏的。 所以你可以首先用 css 隐藏表格

更改此行以隐藏表格

<table id="mealTableContainer2" style="display: none;">

之后,您需要在javascript中的“早餐”按钮上添加事件监听器,以在点击时显示表格

document.getElementById("breakfast2").addEventListener("click", function() {
    document.getElementById("mealTableContainer2").style.display = "block";
});

这是点击 ajax 的方法

注意:`` 是模板文字分隔符中使用的反引号,必须是反引号

$(function() {
  const createMealTable2 = data => {
    $('#mealContainer2')
      .html(data.map(meal => `<tr>
          <td>${meal.mealname}</td>
          <td>${meal.mealcalories}</td>
          <td>${meal.mealtype}</td>
        </tr>`)
        .join("")  
      )
  };

  $("#breakfast2").on("click", function() {
    $.ajax({
      url: 'http://localhost:5000' + "/read-recordsrandom",
      type: 'get',
      success: function(response) {
        var data2 = JSON.parse(response);
        if (data2.msg === "SUCCESS") {
          createMealTable2(data2.meal);
        } else {
          console.log(data2.msg);
        }
      },
      error: function(err) {
        alert(err);
      }
    });
  })
})
<button type="button" id="breakfast2">Breakfast</button>
<table id="mealTableContainer2">
  <thead>
    <tr>
      <th id="mealname">Meal Name</th>
      <th id="mealcalories">Calories</th>
      <th id="mealtype">Type of Meal</th>
    </tr>
  </thead>
  <tbody id="mealContainer2"></tbody>
</table>

您需要一个事件侦听器来侦听点击,而不是使用异步 function 调用您的数据库。返回答案后,只需使用 createElement 或已存在的 html 元素的内部文本将其放在页面上。

我怎么做<div>单击按钮时部分不可见(JS)?</div><div id="text_translate"><p> 如何使用 JS 隐藏&lt;div&gt;部分和</p><pre>&lt;div class="alertB1"&gt; &lt;div class="sticky"&gt; &lt;h1&gt; This site is still being built&lt;/h1&gt; &lt;p&gt; Please remember this site is still being built. Click &lt;a href="form1.html"&gt;here to report a bug &lt;/a&gt; &lt;/div&gt; &lt;/div&gt; &lt;style&gt;.sticky { position: -webkit-sticky; position: sticky; }.alertB1 { width: 100%; height: 125px; background: lightgreen; } &lt;/style&gt;</pre><p> 所以我希望包含一个按钮:</p><pre> &lt;span id="a33"&gt;&lt;button&gt;&amp;times;&lt;/button&gt;&lt;/span&gt; &lt;/div&gt; &lt;/div&gt;</pre><p> 如何让&lt;span&gt;隐藏&lt;div&gt;标签? 谢谢,环形游戏</p></div>

[英]How do i make a <div> section invisible when a button is clicked (JS)?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM