希望我现在明白我的问题。
我有一个sharepoint列表,我根据另一个字段中的数据隐藏/显示某些字段(是/否下拉列表)。比方说,我有第1列,是和否下拉。如果将此列1中的值选择为“是”,则应显示四列A,B,C和D.如果第1列为否,则应隐藏A,B,C和D.表单加载时效果很好。
但是,当表单在保存时返回错误时,依赖字段中显示的选项“是”的字段将被隐藏,即使依赖字段仍为“是”并且我必须在之间切换是和否选择再次显示字段。
以下是我使用的代码。
<script src="https://code.jquery.com/jquery-1.7.2.min.js" type=text/javascript></script>
<script type="text/javascript">
// Execute the following JavaScript after the page has fully loaded, when it's ".ready"
$(document).ready(function() {
$('nobr:contains("Question 1")').closest('tr').hide();
$('nobr:contains("Question 2")').closest('tr').hide();
$('nobr:contains("Question 3")').closest('tr').hide();
$('nobr:contains("Question 4")').closest('tr').hide();
//Show/hide columns based on Drop Down Selection
$("select[title='Do you know Java Scripting']").change(function() {
if ($("select[title='Do you know Java Scripting']").val() != "Yes") {
$('nobr:contains("Question 1")').closest('tr').hide();
$('nobr:contains("Question 2")').closest('tr').hide();
$('nobr:contains("Question 3")').closest('tr').hide();
$('nobr:contains("Question 4")').closest('tr').hide();
} else {
$('nobr:contains("Question 1")').closest('tr').show();
$('nobr:contains("Question 2")').closest('tr').show();
$('nobr:contains("Question 3")').closest('tr').show();
$('nobr:contains("Question 4")').closest('tr').show();
}
});
});
答案 0 :(得分:0)
您在if ()
事件中有change
声明。您需要在事件外部进行类似的检查,以便每次页面加载时都会执行检查,并相应地显示或隐藏列。