#jquery
#jquery
Вопрос:
при нажатии на кнопку отправки, как заставить start trposition начинаться с 1 прямо сейчас, после нажатия на submit она начинается с нуля, это мой код
$(document).on('click', '.updatepacorder', function(event)
{
var allpacs = [];
$('#sort > tbody > tr').each(function(i)
{
var pacid = $(this).attr('pac_id');
var id = i 1;
var pacjson = {
"pacid": pacid,
"trposition": i
}
allpacs.push(pacjson);
});
var requestdata = {
"pac_details": allpacs,
};
var reqested_data = JSON.stringify(requestdata);
console.log(reqested_data);
event.stopImmediatePropagation();
event.preventDefault();
return false;
});
Это моя скрипка
Не могли бы вы, пожалуйста, сообщить мне, как заставить tr начинаться с 1 .
Комментарии:
1. вы можете объявить var i = 0; вне каждой функции нет необходимости передавать ее в цикле, я думаю, именно так она начинается с 1
2. Ваш счетчик
i
всегда начинается с нуля. Если вы хотите начать с1
, то используйтеvar pacjson = { "pacid": pacid, "trposition": id }
.3. В чем дело
var id
в любом случае? Вы его не используете. Возможно, вы просто хотели использоватьid
вместоi
в объекте pacjson. Тогда все в порядке.
Ответ №1:
Вы можете использовать переменную, объявленную вне цикла, отличную от индекса цикла, или просто добавить i ;
в качестве первого оператора в цикле. Или используйте id
переменную, которая содержит увеличенное значение индекса цикла.
Ответ №2:
Если я правильно понимаю ваш вопрос, точка, в которой вы хотите начать с 1 вместо 0, является trposition
членом pacjson
объекта?
Если это так, то это довольно просто: просто напишите, trposition: i 1
а не trposition: i
.
Ответ №3:
$.each
всегда будет начинаться с 0
, потому что это индекс первого элемента в массиве. Если вы хотите начать с 1, вам нужно увеличить значение, i
как вы уже делали var id = i 1
, и использовать id
вместо i
:
$('#sort > tbody > tr').each(function(i)
{
var pacid = $(this).attr('pac_id');
var id = i 1;
var pacjson = {
"pacid": pacid,
"trposition": id // <- here
}
allpacs.push(pacjson);
});
Надеюсь, это поможет.
Комментарии:
1. я хочу включить все ittems