Dynamics 365 门户表单根据复选框值显示隐藏字段

问题描述 投票:0回答:1

我在让 Java 脚本适用于 Dynamics 365 门户表单时遇到问题。

当选择物理订阅者选项时,代码应该显示隐藏表单上的地址字段。这是一个是非布尔值。

这是代码:

`$(document).ready(function () {
    // Bind the onDisplaySectionChange function to the change event of the element with ID "ds_VoiceSubscriber".
    $("#ds_VoiceSubscriber").change(onDisplaySectionChange);
 
    // Calling onDisplaySectionChange immediately when the page loads.
    onDisplaySectionChange();
});
 
// Function to show or hide fields and tabs based on the selected value.
function onDisplaySectionChange() {
    var selectedValue = GetRadioSelectedValue($('#ds_VoiceSubscriber'));
 
    if (selectedValue === "1") {
        // Show the parent of the element with ID "Address1_Line1".
        $("#Address1_Line1").parent().show();
    } else {
        // Hide the parent of the element with ID "Address1_Line1".
        $("#Address1_Line1").parent().hide();
    }
}
 
// Function to get the selected value of a radio button group.
GetRadioSelectedValue = function (input) {
    if (!!$(input).find("input[type=radio]")) {
        var controlName = $(input).find("input[type=radio]").first().attr("name");
        if (!!controlName) {
            return $("input[name='" + controlName + "']:checked").val();
        }
    }
    return "";
};`
javascript forms dynamics-365 portal
1个回答
0
投票

在“GetRadioSelectedValue”函数中,您的输入是 html-input-element,然后您在该元素内搜索 type="radio" 的 html-input-element,但找不到它。而是在该元素的父元素中搜索。

if (!!$(input).parent().find("input[type=radio]")) {
    var controlName = $(input).parent().find("input[type=radio]").first().attr("name");
© www.soinside.com 2019 - 2024. All rights reserved.