基于Json数据通过JavaScript函数添加类
我试图根据通过ajax调用接收到的json数据向复选框标签添加css类。我可以读取数据并执行必要的任务,但当列表的值已经可用时,将css类应用于复选框标签除外。我错过了什么 当ajax成功时,我调用studatapopulate(1,app)代码>以下是我的基于Json数据通过JavaScript函数添加类,javascript,jquery,css,Javascript,Jquery,Css,我试图根据通过ajax调用接收到的json数据向复选框标签添加css类。我可以读取数据并执行必要的任务,但当列表的值已经可用时,将css类应用于复选框标签除外。我错过了什么 当ajax成功时,我调用studatapopulate(1,app)以下是我的js function studatapopulate(id, data) { var ref = data[id].ref; var exam = data[id].exam; var tutes = ""; j
js
function studatapopulate(id, data) {
var ref = data[id].ref;
var exam = data[id].exam;
var tutes = "";
jQuery.each(data[id].tutedata, function (index, value) {
tutes += '<li>'+value.subj+'</li>';
tutes += '<ul>';
var i;
for (i = 1; i < 21; ++i) {
tutes += '<li><label class="tutebtn" for="'+id+'_'+value.id+'_'+i+'"><input type="checkbox" id="'+id+'_'+value.id+'_'+i+'" data-subj="'+value.id+'" value="'+i+'"';
jQuery.each(value.issuedtutes, function (indexa, valuae) {
if (valuae == i) {
jQuery(this).closest('label').addClass('tutegot');
tutes += ' checked="checked" disabled="disabled"';
}
});
tutes += '/> '+i+'</label></li>';
}
tutes += '</ul>';
});
jQuery("#tutes_"+id).append('<ul>'+tutes+'</ul>');
}
函数studatapopulate(id、数据){
var ref=数据[id].ref;
var检查=数据[id]。检查;
var tutes=“”;
jQuery.each(数据[id].tutedata,函数(索引,值){
tutes+=''+value.subc+' ';
tutes+='';
var i;
对于(i=1;i<21;++i){
tutes+='- '+i+'
';
}
tutes+='
';
});
jQuery(“#tutes"+id).append(“”+tutes+”
);
}
我尝试了parent
,parents
,但没有成功
已发行债券的样本数据=>[“5”、“9”、“16”]
checked=“checked”disabled=“disabled”
在上述情况下工作正常,使项目5、9和16处于选中和禁用状态。解决方案:
在第一个位置附加图元之前,不要选择最近的标签
在将html元素附加到tute[id]之后,只需添加tutegot类即可
这可能不是最佳解决方案。但这是可行的
你好
函数studatapopulate(id、数据){
var ref=数据[id].ref;
var检查=数据[id]。检查;
var tutes=“”;
jQuery.each(数据[id].tutedata,函数(索引,值){
tutes+=''+value.subc+' ';
tutes+='';
var i;
对于(i=1;i<21;++i){
tutes+='- '+i+'
';
}
tutes+='
';
});
jQuery(“#tutes"+id).append(“”+tutes+”
);
$(“输入:复选框:选中”).parent().addClass(“tutegot”)
}
变量a={
1: {
参考号:123,
考试:123,
图塔塔:[
{
id:1001,
主题:“a”,
发行日期:[
"5", "9", "16"
],
},
{
id:1002,
主题:“b”,
发行日期:[
"5", "9", "16"
],
}
]
}
};
studatapopulate(1,a);
解决方案:
在第一个位置附加图元之前,不要选择最近的标签
在将html元素附加到tute[id]之后,只需添加tutegot类即可
这可能不是最佳解决方案。但这是可行的
你好
函数studatapopulate(id、数据){
var ref=数据[id].ref;
var检查=数据[id]。检查;
var tutes=“”;
jQuery.each(数据[id].tutedata,函数(索引,值){
tutes+=''+value.subc+' ';
tutes+='';
var i;
对于(i=1;i<21;++i){
tutes+='- '+i+'
';
}
tutes+='
';
});
jQuery(“#tutes"+id).append(“”+tutes+”
);
$(“输入:复选框:选中”).parent().addClass(“tutegot”)
}
变量a={
1: {
参考号:123,
考试:123,
图塔塔:[
{
id:1001,
主题:“a”,
发行日期:[
"5", "9", "16"
],
},
{
id:1002,
主题:“b”,
发行日期:[
"5", "9", "16"
],
}
]
}
};
studatapopulate(1,a);
它是不会添加的tutegot
类吗?如果是,请尝试添加
console.log(jQuery(this))`并查看是否得到一个对象。jQuery(this)
@CarstenLøvboAndersen是正确的。@SourabhSomani我试图引用当前的输入元素,因此,引用父标签。@SourabhSomani您的代码中的此
不会引用来自tutes
的输入
,它不会添加的tutegot
类吗?如果是,请尝试添加
console.log(jQuery(this))`并查看是否得到一个对象。jQuery(this)
@CarstenLøvboAndersen是正确的。@SourabhSomani我试图引用当前的输入元素,因此,引用父标签。@SourabhSomani您的代码中的此
不会引用来自tutes
的输入
,当您可以使用$(“输入:复选框:选中”)时,为什么要使用这么多代码来添加类tutegot
。.parent().addClass(“tutegot”)
look here@CarstenLøvboAndersen感谢您的优化:)。它减少了大量的代码行。当您可以使用$(“输入:复选框:选中”).parent().addClass(“tutegot”)
查看这里@CarstenLøvboAndersen感谢优化:)时,为什么要使用这么多代码来添加类tutegot
。它减少了大量代码。