为了账号安全,请及时绑定邮箱和手机立即绑定

如何将按钮的文本设置为我创建的对象的字段?

如何将按钮的文本设置为我创建的对象的字段?

郎朗坤 2022-08-27 09:54:21
我创建了一个名为 Category 的类,其成员是一个列表,类型为 Dish(我创建的另一个类)。我正在尝试创建一个按钮的网格容器,这些按钮为列表中的每个菜肴显示一个按钮,并且按钮的文本将与菜肴名称匹配。我正在使用for循环来创建按钮,但是当我尝试将按钮文本添加为菜肴名称“”时,没有任何显示。我认为我不太擅长创建一个列表和一个对象,以及如何在javascript中调用一个对象的字段。请让我知道我做错了什么,或者是否有更好的方法可以解决这个问题,任何建议将不胜感激。断续器btn.innerText = categor.dishes[i].name;这是类菜public class Dish    {        public string name;        public int price;        public Dish(string foodName, int foodPrice)        {            name = foodName;            price = foodPrice;        }        public string Name { get; set; }        public int Price { get; set; }    }这是类类别  public class category        {            public string name;            public IList<Dish> dishes;            public category(string Name, IList<Dish> Dishes)            {                name = Name;                IList<Dish> dishes = Dishes;        }        public string Name { get; set; }        public IList<Dish> Dishes { get; set; }    }这是视图中的代码  <style>        .categories-buttons {            display: grid;            grid-template-columns: 80px 80px 80px 80px 80px;        }        .item {            padding: 10px;        }    </style>    <!--  <div class="categories-buttonsDisplay">    <input type="text" class="calculator-screen" value="0" disabled />-->    <div class="categories-buttons">    </div>    <script>        var dish1 = { name: sweetpatato, price: 64 };        var dish2 = { name: mushroom, price: 89 };        var dish3 = { name: halomi, price: 76 };        var list = { dish1, dish2, dish3 };        var categor = { name: salads, dishes: list };        var div = document.getElementsByClassName("categories-buttons")[0];        for (var i = 0; i < list.length; i++) {            var btn = document.createElement("button");            btn.innerText = categor.dishes[i].name;            div.append(btn);        }    </script>
查看完整描述

1 回答

?
缥缈止盈

TA贡献2041条经验 获得超4个赞

首先,list.length将为您提供未定义的,因为list是像对象一样创建的,而不是像数组一样,所以你应该用这些'[', ']'替换大括号


其次,设置名称时会出现错误。为了设置一个字符串,你应该像这样设置它们:名称:'sweetpatato'


下面是一个代码的工作示例:


<style>

.categories-buttons {

    display: grid;

    grid-template-columns: 80px 80px 80px 80px 80px;

}



.item {

    padding: 10px;

}

</style>


<div class="categories-buttons">

</div>


<script>

var dish1 = { name: 'sweetpatato', price: 64 };

var dish2 = { name: 'mushroom', price: 89 };

var dish3 = { name: 'halomi', price: 76 };

var list = [dish1, dish2, dish3];

var categor = { name: 'salads', dishes: list };


var div = document.getElementsByClassName("categories-buttons")[0];


for (var i = 0; i < list.length; i++) {

    var btn = document.createElement("button");

    btn.innerText = categor.dishes[i].name;

    div.append(btn);

}

</script>


查看完整回答
反对 回复 2022-08-27
  • 1 回答
  • 0 关注
  • 107 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号