2015-03-16 2 views
0

я получил temparray со значениями вПочему это не добавляет класса к указанному элементу

826_ZZ_0_ZZ_0tab1_checkbox 
826_ZZ_0_ZZ_0tab2_checkbox 

В приведенном выше

Tab1 referes первого количество и TAB2 referes ко второму количеству соответственно

Это моя программа

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> 

http://jsfiddle.net/cod7ceho/24/

ответ

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'); 
+0

Спасибо очень очень много. – Kiran

Смежные вопросы