【发布时间】:2021-08-22 20:34:02
【问题描述】:
我非常对编码和学习很陌生。
我当前的难题:尝试创建一个多选列表,其中选择的前三个选项(例如,考虑课程科目)将是免费的,但其上的每个额外选择都将收取 200 美元的费用,并且会显示总数.示例:
- 数学 - $0
- 英语 - $0
- 历史 - $0
- 地理 - 200 美元
- 艺术 - 200 美元
...直到列表的末尾。用户可以选择的选项数量没有限制,也没有与特定选项相关联;无论选择哪个选项,前三个都是免费的。
我一直在玩弄下面的 W3 列表代码,因为它符合表单其余部分的风格:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<h2> Select the Desired Activites </h2>
<!-- Essential JS 2 MultiSelect's dependent material theme -->
<link href="//cdn.syncfusion.com/ej2/ej2-base/styles/material.css" rel="stylesheet" type="text/css" />
<link href="//cdn.syncfusion.com/ej2/ej2-inputs/styles/material.css" rel="stylesheet" type="text/css" />
<link href="//cdn.syncfusion.com/ej2/ej2-dropdowns/styles/material.css" rel="stylesheet" type="text/css" />
<!-- Essential JS 2 all script -->
<!-- <script src="https://cdn.syncfusion.com/ej2/dist/ej2.min.js" type="text/javascript"></script> -->
<!-- Essential JS 2 MultiSelect's dependent scripts -->
<script src="//cdn.syncfusion.com/ej2/ej2-base/dist/global/ej2-base.min.js" type="text/javascript"></script>
<script src="//cdn.syncfusion.com/ej2/ej2-data/dist/global/ej2-data.min.js" type="text/javascript"></script>
<script src="//cdn.syncfusion.com/ej2/ej2-inputs/dist/global/ej2-inputs.min.js" type="text/javascript"></script>
<script src="//cdn.syncfusion.com/ej2/ej2-buttons/dist/global/ej2-buttons.min.js" type="text/javascript"></script>
<script src="//cdn.syncfusion.com/ej2/ej2-lists/dist/global/ej2-lists.min.js" type="text/javascript"></script>
<script src="//cdn.syncfusion.com/ej2/ej2-popups/dist/global/ej2-popups.min.js" type="text/javascript"></script>
<script src="//cdn.syncfusion.com/ej2/ej2-dropdowns/dist/global/ej2-dropdowns.min.js" type="text/javascript"></script>
</head>
<body>
<!-- Add the HTML <input> element -->
<input type="text" tabindex="1" id='select' />
<script>
var sportsData = ['Math', 'English', 'History', 'Geography', 'Art'];
// initialize MultiSelect component
var listObj = new ej.dropdowns.MultiSelect({
dataSource: sportsData,
popupHeight: '200px',
//set width to popup list
popupWidth: '250px',
// set placeholder to MultiSelect input element
placeholder: "Activity"
});
listObj.appendTo('#select');
</script>
</body>
</html>
【问题讨论】:
-
创建一个变量
freeCoursesLeft。一旦达到 0,就可以开始充电了。 -
获取一个数组并附加到它。一旦长度为3,然后开始充电。
-
添加一个事件处理程序,每次用户添加或删除项目时触发。事件处理程序计算所选项目的数量。如果总数 > 3,则从总数中减去 3。将该数字乘以 200 得到您的美元金额。
标签: javascript html list