添加到列表中,而不是单击时替换内容

Reemor

我正在创建一个比萨饼表单,该表单将通过按按钮显示客户所订购的商品。我的想法是,客户单击要订购的商品的大小,它将显示在侧面。

问题

我碰巧是JavaScript的新手,但是我不明白为什么当我单击按钮时,它们仅添加其中一项,而当我单击另一项时,它们却相互替换。我想更改它,以便可以无限点击它们。我也想知道我的代码是否有更高效率的版本。

<table>
      <tr id="top_border">
        <th>Pizzas</th><th>Small</th><th>Medium</th><th>Large</th>
      </tr>
      <tr>
        <td>Pepperoni</td><td><span onclick="ADDpps()">4.99</span></td><td>5.15</td><td>6.70</td>
     </tr>
     <tr>
        <td>Meat Lovers</td><td><span onclick="ADDmlps()">4.99</span></td><td>5.15</td><td>6.70</td>
     </tr>
     <tr>
        <td>Hawaiian</td><td><span onclick="ADDhps()">4.99</span></td>     <td>5.15</td><td>6.70</td>
     </tr>
</table>

输出

<ul id="items">
</ul>
<ul id="price">
</ul>

我尝试使用的Javascript

<script type="text/javascript">
var mlps= ["S - Meat lovers pizza","$4.99"];
function ADDmlps(){
    document.getElementById("items").innerHTML = mlps[0];
    document.getElementById("price").innerHTML = mlps[1];
}
var hps = ["S - Hawaiian Pizza","$4.99"];
function ADDhps(){
    document.getElementById("items").innerHTML = hps[0];
    document.getElementById("price").innerHTML = hps[1];
}
var pps = ["S - Pepperoni Pizza","$4.99"];
function ADDpps(){
    document.getElementById("items").innerHTML = pps[0];
    document.getElementById("price").innerHTML = pps[1];
}
</script>
网站设计者

问题是您通过设置替换了#items和的所有内容您将要使用DOM添加一个每个函数调用。#priceinnerHTML<li><ul>

与其在存储类似数据的数据周围散布大量变量,不如让每个披萨在对象中都具有priceandname属性。然后,每个对象可以是数组中的一个项目:

var pizzas = [
  {
    name: "S - Meat lovers pizza",
    price: "$4.99"
  }
  // ...
];

您还希望将执行类似功能的函数压缩为1:

// call passing the index of the pizza in the pizzas array
function addPizza(index) {
  var pizza = pizzas[index];
  var name = pizza.name;
  var price = pizza.price;
  // now add an <li> to each <ul> with this info
}

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

单击锚点时将内容添加到textarea

来自分类Dev

当使用jquery单击特定li时,如何将css类添加到列表中?

来自分类Dev

将某些内容添加到列表时更新ViewModel

来自分类Dev

将项目添加到单击Javascript / Jquery的列表中

来自分类Dev

将导入文档中的内容添加到数组列表

来自分类Dev

如果不是功能,则将项目添加到列表中

来自分类Dev

会话数组替换而不是添加到

来自分类Dev

如何添加到文件而不是替换

来自分类Dev

在Ember中单击某个项目时,如何将活动类添加到项目列表中?

来自分类Dev

单击时,将类添加到HTML列表中的一个且只有一个元素

来自分类Dev

为什么在将新项目添加到列表时将其替换为索引0的项目,而不是在末尾添加新项目?

来自分类Dev

将GameObject添加到类中的列表时出错

来自分类Dev

单击时将文本从列表添加到文本框的方法

来自分类Dev

如何在单击按钮时将项目添加到列表视图?

来自分类Dev

单击链接时将活动类添加到父列表

来自分类Dev

单击时如何将本地存储添加到列表和网格视图

来自分类Dev

添加到列表时出错

来自分类Dev

重复变量时添加到列表

来自分类Dev

单击 Angular 将按钮内容添加到数组

来自分类Dev

如何替换属性名称中的单词,然后添加到该列表中

来自分类Dev

替换文本框中的文本,然后将其添加到列表框中

来自分类Dev

如何将更多内容添加到LocalStorage中而不是覆盖它?

来自分类Dev

如何添加到UINavigationController推送动画,而不是替换它?

来自分类Dev

Thymeleaf:添加到现有值,而不是替换它们

来自分类Dev

Android:将新项目添加到列表后,在ListView中单击NullPointerException onItemClick

来自分类Dev

将多个元素添加到列表中,然后单击cssSelector WebDriver Java

来自分类Dev

React-通过单击提交按钮将输入项添加到列表中

来自分类Dev

JavaScript:将所选项目添加到按钮单击列表中

来自分类Dev

添加到标签内容而不是覆盖WPF C#

Related 相关文章

  1. 1

    单击锚点时将内容添加到textarea

  2. 2

    当使用jquery单击特定li时,如何将css类添加到列表中?

  3. 3

    将某些内容添加到列表时更新ViewModel

  4. 4

    将项目添加到单击Javascript / Jquery的列表中

  5. 5

    将导入文档中的内容添加到数组列表

  6. 6

    如果不是功能,则将项目添加到列表中

  7. 7

    会话数组替换而不是添加到

  8. 8

    如何添加到文件而不是替换

  9. 9

    在Ember中单击某个项目时,如何将活动类添加到项目列表中?

  10. 10

    单击时,将类添加到HTML列表中的一个且只有一个元素

  11. 11

    为什么在将新项目添加到列表时将其替换为索引0的项目,而不是在末尾添加新项目?

  12. 12

    将GameObject添加到类中的列表时出错

  13. 13

    单击时将文本从列表添加到文本框的方法

  14. 14

    如何在单击按钮时将项目添加到列表视图?

  15. 15

    单击链接时将活动类添加到父列表

  16. 16

    单击时如何将本地存储添加到列表和网格视图

  17. 17

    添加到列表时出错

  18. 18

    重复变量时添加到列表

  19. 19

    单击 Angular 将按钮内容添加到数组

  20. 20

    如何替换属性名称中的单词,然后添加到该列表中

  21. 21

    替换文本框中的文本,然后将其添加到列表框中

  22. 22

    如何将更多内容添加到LocalStorage中而不是覆盖它?

  23. 23

    如何添加到UINavigationController推送动画,而不是替换它?

  24. 24

    Thymeleaf:添加到现有值,而不是替换它们

  25. 25

    Android:将新项目添加到列表后,在ListView中单击NullPointerException onItemClick

  26. 26

    将多个元素添加到列表中,然后单击cssSelector WebDriver Java

  27. 27

    React-通过单击提交按钮将输入项添加到列表中

  28. 28

    JavaScript:将所选项目添加到按钮单击列表中

  29. 29

    添加到标签内容而不是覆盖WPF C#

热门标签

归档