我有一个值为
的临时代码826_ZZ_0_ZZ_0tab1_checkbox
826_ZZ_0_ZZ_0tab2_checkbox
在上面
tab1引用第一个数量,tab2分别引用第二个数量
这是我的程序
var addonsQtyWrap = $('<div class="addonsQtyWrap"></div>');
var temparray = [];
var vendoritemsdata = [{
"name": "826_ZZ_0_ZZ_0tab1_checkbox",
"cost": 100,
"additionname": "Choco chips",
"addtionid": 59
}, {
"name": "826_ZZ_0_ZZ_0tab2_checkbox",
"cost": 100,
"additionname": "Choco chips",
"addtionid": 59
}];
var quantity = 3;
var ulhtml = '<ul>';
for (var i = 1; i <= quantity; i++) {
if (i == 1) {
ulhtml += '<li data-tabid="' + i + '" class="tabclcik">Qty-' + i + '</li>';
} else {
ulhtml += '<li data-tabid="' + i + '" class="tabclcik">Qty-' + i + '</li>';
}
};
addonsQtyWrap.append(ulhtml);
$("#header").append(addonsQtyWrap);
for (var j = 0; j < vendoritemsdata.length; j++) {
temparray.push(vendoritemsdata[j].name)
}
for (var k = 0; k < vendoritemsdata.length; k++) {
var name = vendoritemsdata[k].name;
alert(name);
var res = name.indexOf("tab" + k);
if (res !== -1) {
$(".addonsQtyWrap").find('.tabclcik[data-tabid="'+k+'"]').addClass('active');
}
}
创建后,我最后检查临时数组的名称,如果名称包含标签数量,我正在添加一个类
但它没有在数量上添加活动类(检查元素)
<li data-tabid="1" class="tabclcik">Qty-1</li>
答案 0 :(得分:2)
vendoritemsdata
的索引从0开始,而data-tabid
属性从1
开始。我想这就是为什么你没有得到你期望的。
你必须解决这种不匹配问题,这样做有几个选择。例如,更改tab1 -> tab0
等,或在k+1
周期中使用k
而不是for
:
var res = name.indexOf("tab" + (k+1));
和
$(".addonsQtyWrap").find('.tabclcik[data-tabid="'+(k+1)+'"]').addClass('active');