原生 JS 与 ECMAScript 高级语法:实现可增删改状态的品牌列表
以下是一个使用原生 JavaScript 和 ECMAScript 高级语法实现的品牌列表的示例代码: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>品牌列表</title> </head> <body> <h2>品牌列表</h2> <input type="text" id="brandNameInput" placeholder="输入品牌名称"> <button onclick="addBrand()">添加</button> <table border="1" id="brandTable"> <tr> <th>行号</th> <th>品牌名称</th> <th>状态</th> <th>创建时间</th> <th>操作</th> </tr> <tr> <td>1</td> <td>品牌 1</td> <td><button onclick="toggleStatus(0)">已启用</button></td> <td>2023-09-15 10:00:00</td> <td><button onclick="deleteBrand(0)">删除</button></td> </tr> <tr> <td>2</td> <td>品牌 2</td> <td><button onclick="toggleStatus(1)">已启用</button></td> <td>2023-09-16 11:00:00</td> <td><button onclick="deleteBrand(1)">删除</button></td> </tr> </table> <script> // 定义品牌数据数组 let brands = [ { name: '品牌 1', status: '已启用', createdAt: '2023-09-15 10:00:00' }, { name: '品牌 2', status: '已启用', createdAt: '2023-09-16 11:00:00' } ]; // 生成表格行 function generateTableRow(index, brand) { let row = document.createElement('tr'); row.innerHTML = ` <td>${index + 1}</td> <td>${brand.name}</td> <td><button onclick="toggleStatus(${index})">${brand.status}</button></td> <td>${brand.createdAt}</td> <td><button onclick="deleteBrand(${index})">删除</button></td> `; return row; } // 添加品牌 function addBrand() { let brandName = document.getElementById('brandNameInput').value; if (brandName) { let newBrand = { name: brandName, status: '已启用', createdAt: new Date().toISOString() }; brands.push(newBrand); let table = document.getElementById('brandTable'); table.appendChild(generateTableRow(brands.length - 1, newBrand)); document.getElementById('brandNameInput').value = ''; } } // 切换状态 function toggleStatus(index) { brands[index].status = brands[index].status === '已启用'? '已禁用' : '已启用'; let button = document.getElementById('brandTable').rows[index + 1].cells[2].getElementsByTagName('button')[0]; button.innerHTML = brands[index].status; } // 删除品牌 function deleteBrand(index) { if (brands[index].status === '已启用') { if (confirm('确定要删除吗?')) { brands.splice(index, 1); let table = document.getElementById('brandTable'); table.deleteRow(index + 1); } } else { alert('只有已启用状态的品牌才能删除!'); } } </script> </body> </html> ``` 在上述代码中,我们使用原生 JavaScript 实现了添加、切换状态和删除品牌的功能。状态切换通过修改数据数组中的状态值,并更新界面上的按钮文本。删除操作在确认后从数据数组和表格中移除相应的行。 ######[AI写代码神器 | 1015点数解答 | 2024-11-18 17:45:51]
- "Debugging 'Cannot Read Properties of Null (reading \'userid\')' Error in Vue Components: Steps and Example"(讯飞星火 | 614点数解答 | 2024-11-28 14:31:57)291
- HTML+jQuery 实现列表元素悬停动画效果:代码详解与注意事项(字节豆包 | 475点数解答 | 2024-12-19 14:58:05)392
- HTML+jQuery:打造动态导航栏动画效果及注意事项(字节豆包 | 495点数解答 | 2024-12-19 14:58:06)336
- HTML+jQuery:打造带动态交互效果的商品展示页面(讯飞星火 | 497点数解答 | 2024-12-19 14:58:18)340
- HTML与jQuery结合:实现商品列表交互动画的首页代码解析(讯飞星火 | 497点数解答 | 2024-12-19 14:58:20)361
- Three.js 示例代码解析:优化场景渲染与注意要点(字节豆包 | 164点数解答 | 2025-02-27 23:30:20)285
- Three.js实现可360°观察正交长方体:代码分析、优化与注意要点(DeepSeek | 466点数解答 | 2025-03-01 11:35:41)268
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)378
- 原生 JS 与 ECMA 高级语法打造可增删改状态的品牌列表(字节豆包 | 814点数解答 | 2024-11-18 17:17:39)161
- 原生 JS 与 ECMAScript 高级语法:实现可增删改状态的品牌列表(字节豆包 | 1015点数解答 | 2024-11-18 17:45:51)163
- 原生 JS 实现品牌列表:添加、删除与动态行号功能全解析(字节豆包 | 849点数解答 | 2024-11-18 21:15:31)144
- 基于商品效期规则的本地网页管理系统,无需服务器和网络,单HTML文件本地浏览器运行。 商品效期规则: 保质期≥12个月:临期提醒提前45天,下架提前5天(含过期提醒) 6个月≤保质期<12个月:临期提醒提前20天,下架提前3天(含过期提醒) 3个月≤保质期<6个月:临期提醒提前15天,下架提前3天(含过期提醒) 30天≤保质期<3个月:临期提醒提前10天,下架提前3天(含过期提醒) 15天≤保质期<30天:临期提醒提前5天,下架提前3天(含过期提醒) 保质期≤15天:临期提醒提前3天,下架提前2天(含过期提醒) 一定要遵守上门这个规则,状态以上位置,需要一一对应。 严格遵循 6 级保质期规则 → 自动计算「临期/下架/过期」状态(绿/黄/红) 产品管理模块: 商品列表展示:序号、名称、类别、生产日期、保质期、到期日、剩余天数(带单位)、状态(正常/临期/下架(一定要注意,选择类型要根据选择显示),对应绿/黄/红颜色)、操作(编辑、删除、备注),默认按照后添加先排,还需要根据一些条件,比如剩余天数可以筛选排序。 功能:添加商品(弹窗形式,保质期仅支持"XX天"或"XX月"格式)(讯飞星火 | 2053点数解答 | 2026-04-01 23:04:48)31