我在让 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 "";
};`
在“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");