Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.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

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
jQuery嵌套数组_Jquery_Sharepoint - Fatal编程技术网

jQuery嵌套数组

jQuery嵌套数组,jquery,sharepoint,Jquery,Sharepoint,下午, 我已经设置了以下内容,嵌套的ifs正在工作,但是当我希望能够将数组的标题传递给alterFields()函数时,该函数将循环遍历数组中存储的每个字段,并应用相对于该数组的CSS类(即,我已将与CSS类相同的名称应用于数组)。不幸的是,如果我在css数组中使用字符串,alterfields中的$.each会循环使用字符串的每个字符 var assigned =[ "UAT Nominee" ]; var applications = [ "Primary Application Affe

下午,

我已经设置了以下内容,嵌套的ifs正在工作,但是当我希望能够将数组的标题传递给alterFields()函数时,该函数将循环遍历数组中存储的每个字段,并应用相对于该数组的CSS类(即,我已将与CSS类相同的名称应用于数组)。不幸的是,如果我在css数组中使用字符串,alterfields中的$.each会循环使用字符串的每个字符

var assigned =[
"UAT Nominee"
];

var applications = [
"Primary Application Affected",
"Other Applications"
];

var comments = [
"Comments"
]

var css = [assigned, applications, comments];

    $.each(css, function(x){
    var current_class = css[x];
    alterfields(current_class);
    });

    function alterfields(array){
        $.each(array, function(i){
        var current_field = array[i];
    alert(current_field);
            $("#WebPartWPQ2 .ms-formlabel nobr").filter(function() {
                return $.text([this]) === array[i];
                }).closest('tr').toggleClass(array);
            });
        }

});

提前谢谢

试试这样吧

var fields = {
  assigned: [ "UAT Nominee" ],
  applications: [ "Primary Application Affected", "Other Applications" ],
  comments: [ "Comments" ]
};

var field_keys = [ 'assigned', 'applications', 'comments'];

$.each(field_keys, function(){
  alterfields( this );
});

function alterfields( field_key ){
  $.each(fields[ field_key ], function(){
    var current_field = this;
    $("#WebPartWPQ2 .ms-formlabel nobr").filter(function() {
      return $(this).text() === current_field;
    }).closest('tr').toggleClass( field_key );
  });
}

你做的不太对。这一行:

var css = [assigned, applications, comments];
使CSS成为这些数字数组的数字数组。要引用这些对象,您必须使用css[0]、css[1]等。我相信您希望利用javascript对象可以被视为命名数组这一事实。所以你可以这样做:

var css = {
  "assigned": assigned,
  "applications": applications,
  "comments": comments
};

然后,当您引用css[“assigned”]时,您会得到您所期望的数字数组。

Hi BBonified,很抱歉回到您身边。不幸的是,我不能让它全部工作,它肯定会选择正确的值并在数组中循环,但似乎没有应用任何css类。对不起,这是我的密码你能发现什么吗$(文档).ready(函数(){var字段={releasedetails:[“年-月”,“发布日期”],changedetails:[“原始计划发布日期(业务系统)”,“变更提交日期”,“优先级”,“TP问题分数”,“UAT提名人”],进度:[“状态”],分配:[“业务分析师”,“开发所有者”]};var字段\u键=['releasedetails','changedetails','progress','assigned'];$.each(field_key,function(){alterfields(this);});function alterfields(fields[field_key],function(){var current_field=this;//alert(current_field+“\n”+field_key)$(“#WebPartWPQ2.ms formlabel nobr”).filter(function()){return$(this).text()==current_field;}).closest('tr').removeClass('hidden').toggleClass(field_key);});}