【问题标题】: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>

    希望能帮助到你

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-09
      • 1970-01-01
      • 1970-01-01
      • 2015-04-12
      • 2022-01-20
      • 1970-01-01
      • 2022-11-28
      相关资源
      最近更新 更多