我有一个用于Sharepoint网站的javascript,可根据下拉框中的值显示和隐藏字段。我的第二个If语句工作正常,但由于某种原因,第一个不起作用。任何人都可以看到我是否错过了一个简单的语法错误。花了两天时间,我觉得一双新的眼睛会有所帮助。
$(document).ready(function () {
// Get a single select dropdown field
var SubTypeField = SPUtility.GetSPField('Sub Type');
var IssueTypeField = SPUtility.GetSPField('Issue Type');
// create a function to show or hide Field based on Drop Down values value
var showOrHideField = function() {
var SubTypeFieldValue = SubTypeField.GetValue();
var IssueFieldValue = IssueTypeField.GetValue();
// Hide the field if the selected value is Ergonomic
if (SubTypeFieldValue === 'Ergonomic'){
SPUtility.HideSPField('Other Description');
}
else {
SPUtility.ShowSPField('Other Description');
}
if(IssueFieldValue === 'Incident'|| IssueFieldValue === 'Close Call'|| IssueFieldValue === 'Observation') {
SPUtility.HideSPField('Type of injury sustained');
SPUtility.HideSPField('Cause of lost time/injury or first aid');
SPUtility.HideSPField('Was medical treatment necessary');
SPUtility.GetSPField('Type of injury sustained').SetValue('');
SPUtility.GetSPField('Cause of lost time/injury or first aid').SetValue('');
SPUtility.GetSPField('Was medical treatment necessary').SetValue('No');
}
else {
SPUtility.ShowSPField('Type of injury sustained');
SPUtility.ShowSPField('Cause of lost time/injury or first aid');
SPUtility.ShowSPField('Was medical treatment necessary');
}
};
// run at startup (for edit form)
showOrHideField();
// make sure if the user changes the value we handle it
$(IssueTypeField.Dropdown).on('change', showOrHideField);
$(SubTypeField.Dropdown).on('change', showOrHideField);
});
答案 0 :(得分:0)
您是否尝试记录您要隐藏的字段的值?
使用console.log()
记录值。字段名称看起来很奇怪......我通常使用jQuery而不是SPUtility。
如果SubTypeField和IssueTypeField正确初始化,请务必检查。 也许将声明移动到这样的init函数中会有所帮助:
$(document).ready(function () {
// Get a single select dropdown field
var SubTypeField;
var IssueTypeField;
_spBodyOnLoadFunctionNames.push(init);
});
function init() {
SubTypeField = SPUtility.GetSPField('Sub Type');
IssueTypeField = SPUtility.GetSPField('Issue Type');
}
答案 1 :(得分:0)
问题与我的代码无关。在SharePoint中,您必须引用文档库中的文件。出于测试原因,我将工作的重命名为我创建的新文件,在我的问题中列出。 SharePoint会自动为您重命名文件引用。所以我不断更新文件,认为我的代码错误,而我只需要更改引用指向新文件。有关我的解释的任何问题让我知道,因为这可能会帮助其他人在路上