最后效果:
点总计 上面复框选中的水果会计算总价格
点全选 所有水果都会被选中
点反选 没选中的水果被选中
点不选 选中的水果被取消选中
我不知道这些按钮的javascript要怎么设计
这里是HTML和JavaScript代码:
HTML:
html
<div id="fruits">
<input type="checkbox" name="fruits" value="apple"> Apple
<input type="checkbox" name="fruits" value="orange"> Orange
<input type="checkbox" name="fruits" value="banana"> Banana
</div>
<button id="selectAll">全选</button>
<button id="selectInverse">反选</button>
<button id="selectNone">不选</button>
<p id="totalPrice">总价: <span>0</span></p>
JavaScript:
js
const fruits = document.getElementById("fruits");
const selectAllBtn = document.getElementById("selectAll");
const selectInverseBtn = document.getElementById("selectInverse");
const selectNoneBtn = document.getElementById("selectNone");
const totalPriceSpan = document.getElementById("totalPrice").querySelector("span");
let totalPrice = 0;
selectAllBtn.addEventListener("click", () => {
for (let fruit of fruits.children) {
if (fruit.type === "checkbox") {
fruit.checked = true;
}
}
calculateTotalPrice();
});
selectInverseBtn.addEventListener("click", () => {
for (let fruit of fruits.children) {
if (fruit.type === "checkbox") {
fruit.checked = !fruit.checked;
}
}
calculateTotalPrice();
});
selectNoneBtn.addEventListener("click", () => {
for (let fruit of fruits.children) {
if (fruit.type === "checkbox") {
fruit.checked = false;
}
}
totalPrice = 0;
totalPriceSpan.textContent = totalPrice;
});
function calculateTotalPrice() {
totalPrice = 0;
for (let fruit of fruits.children) {
if (fruit.checked && fruit.type === "checkbox") {
totalPrice += parseInt(fruit.value);
}
}
totalPriceSpan.textContent = totalPrice;
}
这段代码实现了点击三个按钮(全选、反选、不选)来选中和取消选中复选框,并计算选中复选框的总价格
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
var fruit = prompt('请输入水果:');
switch(fruit){
case '苹果':
alert('3.5元/斤');
break;
case '香蕉':
alert('2.5元/斤');
break;
case '草莓':
alert('10元/斤');
break;
default:
alert('没有此水果');
}
</script>
</head>
<body>
</body>
</html>
我们可以使用HTML和JavaScript来编写多个复选框,并计算选中的总价值,同时添加全选、反选和不选按钮功能。
首先,我们需要在HTML中创建多个复选框,可以使用input标签的type属性设置为checkbox实现。我们需要为每个复选框设置一个value属性,表示该选项的价格。例如:
<input type="checkbox" name="option1" value="10">Option 1
<input type="checkbox" name="option2" value="20">Option 2
<input type="checkbox" name="option3" value="30">Option 3
然后,我们可以使用JavaScript来计算选中的总价值。我们可以使用document.getElementsByName方法来获取所有的复选框,然后遍历每个复选框,判断是否被选中,如果被选中,则将其value值加入总价值中。最后将总价值输出到页面中。代码如下:
function calculate() {
var options = document.getElementsByName("option");
var totalPrice = 0;
for (var i = 0; i < options.length; i++) {
if (options[i].checked) {
totalPrice += parseInt(options[i].value);
}
}
document.getElementById("totalPrice").innerHTML = "Total Price: $" + totalPrice;
}
在HTML中,我们可以添加一个按钮来触发calculate函数。例如:
<button onclick="calculate()">Calculate Total Price</button>
现在我们已经能够计算选中的总价值了。接下来,我们可以添加全选、反选和不选按钮功能。为了实现选中所有复选框,我们需要获取所有的复选框,并将它们的checked属性设置为true。反选和不选的实现方式与此类似。代码如下:
function selectAll() {
var options = document.getElementsByName("option");
for (var i = 0; i < options.length; i++) {
options[i].checked = true;
}
}
function invertSelection() {
var options = document.getElementsByName("option");
for (var i = 0; i < options.length; i++) {
options[i].checked = !options[i].checked;
}
}
function clearSelection() {
var options = document.getElementsByName("option");
for (var i = 0; i < options.length; i++) {
options[i].checked = false;
}
}
我们可以在HTML中添加按钮来调用这些函数,例如:
<button onclick="selectAll()">Select All</button>
<button onclick="invertSelection()">Invert Selection</button>
<button onclick="clearSelection()">Clear Selection</button>
最后,我们将所有代码整合在一起,并将其放在一个HTML文件中。完整代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Checkbox Example</title>
</head>
<body>
<input type="checkbox" name="option" value="10">Option 1
<input type="checkbox" name="option" value="20">Option 2
<input type="checkbox" name="option" value="30">Option 3
<br>
<button onclick="calculate()">Calculate Total Price</button>
<button onclick="selectAll()">Select All</button>
<button onclick="invertSelection()">Invert Selection</button>
<button onclick="clearSelection()">Clear Selection</button>
<br>
<div id="totalPrice"></div>
<script>
function calculate() {
var options = document.getElementsByName("option");
var totalPrice = 0;
for (var i = 0; i < options.length; i++) {
if (options[i].checked) {
totalPrice += parseInt(options[i].value);
}
}
document.getElementById("totalPrice").innerHTML = "Total Price: $" + totalPrice;
}
function selectAll() {
var options = document.getElementsByName("option");
for (var i = 0; i < options.length; i++) {
options[i].checked = true;
}
}
function invertSelection() {
var options = document.getElementsByName("option");
for (var i = 0; i < options.length; i++) {
options[i].checked = !options[i].checked;
}
}
function clearSelection() {
var options = document.getElementsByName("option");
for (var i = 0; i < options.length; i++) {
options[i].checked = false;
}
}
</script>
</body>
</html>