【问题标题】:Setting a future day of repair depending on warranty selection根据保修选择设置未来维修日期
【发布时间】:2023-01-03 01:01:16
【问题描述】:
首先,我是 Web Dev 的新手,上周刚刚学习了 JS 的基础知识。
我有一个项目,我在其中具有 VIP 身份和 3 种保修类型。
如果客户是 VIP -> 解决问题最多需要 7 天。
然后我有 3 种类型的保修 - 无、常规、延长。
无 - 长达一个月的维修。
常规 - 长达 3 周的维修。
延长 - 长达 2 周的维修时间。
该解决方案必须仅包含 javascript(还没有 jQuery)。
由于 VIP 复选框不是保修选择的一部分,因此我无法连接它们。
如果我的解释让您感到困惑 - 如果客户是 VIP - 保修选项应该被禁用。因为它会自动获得更快的服务。
如果未选中 VIP 复选框 - 我需要如上所示显示维修时间。
提前致谢
<input type="checkbox" id="isVIP" />VIP?
<select name="warranty" id="warranty">
<option disabled selected>Select warranty</option>
<option value="none">None</option>
<option value="regular">Regular</option>
<option value="Extended">Extended</option>
【问题讨论】:
标签:
javascript
datetime
checkbox
selection
【解决方案1】:
要实现您的要求,您需要添加一些逻辑。由于我们没有完整的上下文,因此很难给您答案。
如果我理解正确的话,如果不是 VIP,您希望能够选择保修。
为了给你一个想法,你可以用 javaScript 来做到这一点:
const checkbox = document.getElementById('isVIP');
const select = document.getElementById('warranty');
checkbox.addEventListener('change', () => {
if (checkbox.checked) {
// Disable options in select element
for (let i = 0; i < select.options.length; i++) {
select.options[i].disabled = true;
}
} else {
// Enable options in select element
for (let i = 0; i < select.options.length; i++) {
select.options[i].disabled = false;
}
}
});
<input type="checkbox" id="isVIP" />VIP?
<select name="warranty" id="warranty">
<option disabled selected>Select warranty</option>
<option value="none">None</option>
<option value="regular">Regular</option>
<option value="Extended">Extended</option>
</select>
希望能帮助到你