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