为了账号安全,请及时绑定邮箱和手机立即绑定

使用Java禁用特定选择下拉列表字段时出现问题

使用Java禁用特定选择下拉列表字段时出现问题

拉丁的传说 2021-04-29 14:17:29
我正在开发一个应用程序,在该应用程序中,我有一些具有选择下拉字段的卡。在卡片上,我编写了JavaScript逻辑,如果用户 在任何卡片上选择下拉菜单时选择了妻子或丈夫,则其他任何丈夫或妻子下拉字段均应禁用。问题是当我从任何卡中选择一个选项时,其他卡都不会禁用。基本上我想当用户在任何卡上选择妻子或丈夫选项时,其他卡上的所有其他丈夫或妻子选项应立即禁用。我在控制台中收到此错误:TypeError:document.querySelectorAll(...)。addEventListener不是一个函数标记代码<!-- Card 1 --><form method="POST" action="#" id="phase3">        <input type="hidden" name="_token" id="token" value="{{ csrf_token() }}">        <!-- Gender -->        <div class="row registerRelationph3">            <label class="fm-input"> Relation :</label>            <select class="fm-input otherMenu" id="relation1" required>                <option value="Husband"> Husband </option>                <option value="Wife"> Wife </option>                <option value="Son"> Son </option>                <option value="Daughter"> Daughter </option>            </select>        </div>        <!-- END -->        <!-- DOb -->        <div class="row">        <label class="fm-input" style="font-size: 10px;"> Date Of Birth :</label>        <input type="text" id="dob" class="fm-inputph3" placeholder="Date of Birth" value="" required>        </div>        <!-- END dob -->            <button class="btn btn-lg" type="submit"> Save Details <i class="fa fa-check-circle" ></i></button></form><!-- End card 1 --><!-- Card 2--><form method="POST" action="#" id="phase3">        <input type="hidden" name="_token" id="token" value="{{ csrf_token() }}">        <!-- Gender -->        <div class="row registerRelationph3">            <label class="fm-input otherMenu"> Relation :</label>            <select class="fm-input" id="relation1" required>                <option value="Husband"> Husband </option>                <option value="Wife"> Wife </option>                <option value="Son"> Son </option>                <option value="Daughter"> Daughter </option>            </select>        </div>        <!-- END -->
查看完整描述

1 回答

?
函数式编程

TA贡献1807条经验 获得超9个赞

我认为您不能在菜单列表上添加事件监听器,但必须为每个菜单完成


var menus = document.querySelectorAll('.otherMenu');

for (let menu of menus) {

    menu.addEventListener('change', function () {

        var selectedOption = this.value;

        var selectWife = document.querySelectorAll('.otherMenu option[value="Wife"]');

        var selectHusband = document.querySelectorAll('.otherMenu option[value="Husband"]');

        selectWife.forEach(function (option) {

            option.disabled = selectedOption === 'Wife';

        });

        selectHusband.forEach(function (option) {

            option.disabled = selectedOption === 'Husband';

        });

    });

}


查看完整回答
反对 回复 2021-05-20
  • 1 回答
  • 0 关注
  • 173 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信