1.i хочет объединить inde & k, но он добавляет оба. 2. Значение k определяется атрибутом, когда оно увеличивается до 7.
function iding() {
$("tr").each(function(index, element) {
// alert('hello');
for (var k = 1; k <= 7;k++) {
var inde = index - 1;
$("td").children("input").attr('id',inde+k);
}
});
}
пожалуйста, помогите в этом отношении
1: потому что оба они являются числами... так
$("td").children("input").attr('id', '' + inde + k);
Вместо таргетинга на конкретный td
вы нацеливаете их все
function iding() {
$("tr").each(function (trIdx, element) {
var trIndex = '' + (trIdx + 1);
// alert('hello');
$(this).find("td > input").attr('id', function (idx) {
return trIndex + (idx + 1)
});
});
}
Демо: скрипка
Если вы хотите объединить их, используйте,
$("td").children("input").attr('id',inde+""+k);
Оба они - числа, поэтому вам нужно преобразовать их в строки.
Делать:
$("td").children("input").attr('id', (inde + '') + (k + ''));
^-- implicit typecast to string
Или:
$("td").children("input").attr('id', (inde.toString()) + (k.toString()));
^-- using .toString method = better readability
inde
иk
... еслиindex
равен 1, тоindex
становится 0, поэтому атрибут получит значениеk