首页 > 解决方案 > 如何使用 javascript 禁用选项?

问题描述

在我的项目中:

在此处输入图像描述

如果我选择“Heures supp”,我希望在我的第二个选择/选项中,禁用“Du xx au xx”选项,并选择“La journée”选项。

用我的实际代码:

var valeur = select.options[select.selectedIndex].value;

我可以确定我的第一个选择。如果我第一个选择的选项是“Heure supp”,我想在 if 条件下对其进行测试,以禁用“Du xx au xx”选项。

<select class="browser-default custom-select" name="choiceUser" id="choiceUser" onchange="choiceDay2(this)">
    <option value="" disabled="" selected="">Choisissez la durée de l'absence</option>
    <option value="jour">La journée</option>
    <option value="periode">Du xx au xx</option>
</select>

我试过这个但不起作用,我不擅长 Javascript:

if (valeur == "Heures supp") {
        choiceDay = document.querySelector('[name="choiceUser"][option="periode"]');
        choiceDay.setAttribute('disabled', true);
}

编辑:

我解决了第一个问题:禁用“periode”选项:

choiceDay = document.querySelector('[name="choiceUser"]');
                periode = choiceDay.querySelector('option[value="periode"]');
                periode.setAttribute('disabled', true);

现在,我必须选择“Du xx au xx”选项

标签: javascript

解决方案


我解决了这个问题:

做这个:

var valeur = select.options[select.selectedIndex].value;
console.log(valeur);
if (valeur == "Heures supp") {
  choiceDay = document.querySelector('[name="choiceUser"]');
  periode = choiceDay.querySelector('option[value="periode"]');
  periode.setAttribute('disabled', true);

  journee = choiceDay.querySelector('option[value="jour"]');
  journee.setAttribute('selected', true);
  console.log(choiceDay);
}

现在,如果在第一个列表中,我选择“Heure supp”,那么在第二个列表中,选项“Du xx au xx”将被禁用。默认情况下,“journee”选项将被激活!

谢谢你们!


推荐阅读