首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用JavaScript基于电子邮件值和布尔yes/no字段隐藏字段

使用JavaScript基于电子邮件值和布尔yes/no字段隐藏字段
EN

Stack Overflow用户
提问于 2022-03-24 16:40:43
回答 1查看 253关注 0票数 0

我的门户上有一个Microsoft门户页面,需要通过JavaScript进行一些定制。我想隐藏基于电子邮件地址输入的字段,这是很好的工作。但是,当用户进入将显示某些字段的电子邮件域时,我想应用其他格式设置。

下面是我目前的代码:

代码语言:javascript
复制
$(document).ready(function () {
     $("#emailaddress1").change(onShowHideEmployeeFields);
     onShowHideEmployeeFields();
});

function onShowHideEmployeeFields() {
    var varEmail = $("#emailaddress1").val()
    //alert(varEmail)
    if (varEmail.includes("@example.org")) {
       $('#xxx_employeeid').parent().parent().show();
       $('#xxx_employeeid').prop('required', true);
       $('#xxx_employeeid').closest(".control").prev().addClass("required");
       $('#xxx_defaultfacilityid').parent().parent().show();
       $('#xxx_defaultfacilityid').prop('required', true);
       $('#xxx_defaultfacilityid').closest(".control").prev().addClass("required");
       $('#xxx_positiontitle').parent().parent().show();
       $('#xxx_officer').parent().parent().show();
       $('#xxx_officer').prop('required', true); 
       $('#xxx_officer').closest(".control").prev().addClass("required");
       $('#xxx_jopositiontitle').parent().parent().show();
    }
    else {
        $('#xxx_employeeid').parent().parent().hide();
        $('#xxx_defaultfacilityid').parent().parent().hide();
        $('xxx_defaultfacilityid_label').parent().parent().hide();
        $('xxx_positiontitle_label').parent().parent().hide();
        $('#xxx_positiontitle').parent().parent().hide();
        $('#xxx_officer').parent().parent().hide();
        $('#xxx_jopositiontitle').parent().parent().hide();
    }
}

但是,如果军官字段被标记为'Yes‘(这是一个布尔的是/否无线电复选框字段),我希望通过显示JO职位标题来扩展代码。

我尝试使用以下代码分别测试这个组件:

代码语言:javascript
复制
function onShowHideEmployeeFields() {
$('xxx_officer').change(function () {
    var varJO = $("$xxx_officer").val();
    //alert(varJO)
    if (varJO === 'Yes') {
    $('xxx_jopositiontitle').parent().parent().show();
    }
    else {
    $('xxx_jopositiontitle').parent().parent().hide();
    }
})
}

这段代码似乎什么也不做。对这个问题有什么想法吗?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2022-03-28 22:29:33

AFAICT您的问题归结为我如何检查是否选中了复选框?您尝试的代码在正确的轨道上,但这不是您如何获得复选框的状态。快速搜索可以找到许多例子:

代码语言:javascript
复制
$('xxx_officer').change(function () {
    var varJO = $("$xxx_officer").prop('checked');

    if (varJO) {
        $('xxx_jopositiontitle').parent().parent().show();
    } else {
        $('xxx_jopositiontitle').parent().parent().hide();
    }
});

这里有很多这样的例子,我投票把这个问题作为一个重复来结束。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71606236

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档