帮我写一个输入框 可以输入带有百分比和值的两个单选框选择,来改变输入框里面的值
时间: 2024-02-03 12:12:16 浏览: 82
好的,你需要使用 HTML、CSS 和 JavaScript 来实现这个功能。下面是一个简单的实现方式:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Input with percentage and value options</title>
<style>
label {
display: block;
margin-bottom: 10px;
}
</style>
</head>
<body>
<label>
<input type="radio" name="input-option" value="value" checked>
Value:
<input type="number" id="input-value" value="0">
</label>
<label>
<input type="radio" name="input-option" value="percentage">
Percentage:
<input type="number" id="input-percentage" min="0" max="100" value="0">
%
</label>
<script>
const valueInput = document.getElementById('input-value');
const percentageInput = document.getElementById('input-percentage');
function updateValue() {
const option = document.querySelector('input[name="input-option"]:checked').value;
if (option === 'value') {
valueInput.disabled = false;
percentageInput.disabled = true;
} else {
valueInput.disabled = true;
percentageInput.disabled = false;
}
const value = parseFloat(valueInput.value);
const percentage = parseFloat(percentageInput.value) / 100;
const result = option === 'value' ? value : value * percentage;
document.getElementById('output').textContent = result.toFixed(2);
}
valueInput.addEventListener('input', updateValue);
percentageInput.addEventListener('input', updateValue);
document.querySelectorAll('input[name="input-option"]').forEach(function(option) {
option.addEventListener('change', updateValue);
});
</script>
<p>Result: <span id="output">0.00</span></p>
</body>
</html>
```
这个实现方式包含两个单选框和一个输入框,其中一个单选框用于选择值,另一个单选框用于选择百分比。当用户选择一个选项时,输入框的行为会相应地改变。在输入框中,用户可以输入一个值或一个百分比,并且在输入时结果会实时更新。最终的结果将显示在页面上的一个 `<span>` 元素中。
阅读全文