Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何基于其他字段显示/隐藏列字段-SharePoint_Javascript_Sharepoint - Fatal编程技术网

Javascript 如何基于其他字段显示/隐藏列字段-SharePoint

Javascript 如何基于其他字段显示/隐藏列字段-SharePoint,javascript,sharepoint,Javascript,Sharepoint,我在SharePoint中有一个包含多列的表,我经常向该表中添加新记录。其中最难的部分是,有很多专栏,这使得它很难理解,也会引起混乱 在下面的代码中,我隐藏了所有列,根据下拉列表中的选择,字段将显示为输入。这个测试下拉列表由国家、水果、动物和颜色组成,它只给我两个显示和隐藏选项,但我想对多个字段执行相同的过程。我不知道怎么做。如果你能告诉我怎么做,我将非常感谢你的帮助 谢谢 <script src="/SiteAssets/jquery-3.3.1.js"></script&g

我在SharePoint中有一个包含多列的表,我经常向该表中添加新记录。其中最难的部分是,有很多专栏,这使得它很难理解,也会引起混乱

在下面的代码中,我隐藏了所有列,根据下拉列表中的选择,字段将显示为输入。这个测试下拉列表由国家、水果、动物和颜色组成,它只给我两个显示和隐藏选项,但我想对多个字段执行相同的过程。我不知道怎么做。如果你能告诉我怎么做,我将非常感谢你的帮助

谢谢

<script src="/SiteAssets/jquery-3.3.1.js"></script>
<script src="/SiteAssets/sputility.js "></script>

<script>
 $(document).ready(function () 
{ // Get a the choice field 
var choiceField = SPUtility.GetSPField('Selection');

// Hide the target fields in form load

SPUtility.HideSPField('Country');
SPUtility.HideSPField('Fruit');
SPUtility.HideSPField('Animal');
SPUtility.HideSPField('Colour');

// create a function to show or hide a field based on the selected choice Field value 

var ShowHideField = function() { 
var selectedFieldValue = choiceField.GetValue(); 

if (selectedFieldValue != 'Country') {
SPUtility.ShowSPField('Country'); 
SPUtility.ShowSPField('Animal');} 

else if (selectedFieldValue != 'Fruit') {
SPUtility.ShowSPField('Fruit'); 
SPUtility.ShowSPField('Country');
SPUtility.ShowSPField('Animal');}

}; 


$(choiceField.Dropdown).on ('change', ShowHideField); });
</script>

$(文档).ready(函数()
{//在选择字段中获取一个
var choiceField=SPUtility.GetSPField('Selection');
//隐藏表单加载中的目标字段
SPUtility.HideSPField(“国家”);
希德斯菲尔德(“水果”);
SPUtility.HideSPField(“动物”);
SPUtility.HideSPField(“颜色”);
//创建一个函数,根据选定的选项字段值显示或隐藏字段
var ShowHideField=函数(){
var selectedFieldValue=choiceField.GetValue();
如果(selectedFieldValue!=“国家/地区”){
SPUtility.ShowSPField(“国家”);
SPUtility.ShowSPField('Animal');}
else if(selectedFieldValue!=“水果”){
SPUtility.ShowSPField(“水果”);
SPUtility.ShowSPField(“国家”);
SPUtility.ShowSPField('Animal');}
}; 
$(choiceField.Dropdown).on('change',ShowHideField);});

@谢谢你的帮助,很抱歉误导了你

实际上,我想根据下拉列表中的特定选择显示多个字段

比如说,如上面的脚本所示,当我在下拉列表中选择country时,country和animal字段都应该出现,或者当我在下拉列表中选择水果时,country和animal字段应该出现。在上面的脚本中,它工作得非常完美。但是,我想对2个以上的案例应用相同的流程。比如,我想选择颜色,只显示动物和水果,但我不确定在使用If-else语句后如何应用它

如果你能给我看,我将非常感谢你的帮助


谢谢

以下代码供您参考:

<script src="//code.jquery.com/jquery-1.12.4.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
    var fields=["Country","Fruit","Animal","Colour"];
    hideFields(fields);
    $("select[title='Selection']").change(function(){
        $(".ms-standardheader nobr:contains('"+$(this).val()+"')").closest("tr").show();
    });
});
function hideFields(fields){
    for(var i=0;i<fields.length;i++){
        $(".ms-standardheader nobr:contains('"+fields[i]+"')").closest("tr").hide();
    }
}
</script>

$(函数(){
变量字段=[“国家”、“水果”、“动物”、“颜色”];
隐藏场(场);
$(“选择[title='Selection']”)。更改(函数(){
$(“.ms standardheader nobr:contains(“+$(this).val()+”)))).closest(“.tr”).show();
});
});
函数隐藏字段(字段){
对于(var i=0;i