Так как @demo упомянул, вы входите в свой цикл. Вот почему вы видите все 3 значения. Таким образом, id_unique
в каждом цикле переназначается, поэтому в последнем цикле оно равно только последнему значению. Нижнее предоставленное решение помещает текущее значение в массив, а затем вы можете использовать этот массив в val()
.
Попробуйте, посмотрите, поможет ли это вам.
function uniqueID() {
function chr4() {
return Math.random()
.toString(16)
.slice(-4)
.toUpperCase();
}
return (
chr4() +
chr4() +
'-' +
chr4() +
'-' +
chr4() +
'-' +
chr4() +
'-' +
chr4() +
chr4() +
chr4()
);
}
var ids = [];
for (i = 1; i <= 3; i++) {
var id_unique = uniqueID();
ids.push(id_unique);
}
console.log(ids);
$('#input_test').val(ids);