вопрос по jQuery для генерации входных значений других входных значений
У меня есть простая форма билета, которая имеет скрытый ввод с последним серийным номером билета. BMPS3001 мне нужно, чтобы jquery генерировал значение newticket в не скрытом вводе, и когда они вводят количество для генерации скрипта билетов, сделайте как можно больше новых серийных номеров. например, в качестве входного значения количества скрипт генерирует новый серийный номер в начале BMPS3002,но если я изменяю количество 4,он генерирует еще три во входном массиве [BMPS3002,BMPS3003, BMPS3004, BMPS3005] . Последний вопрос, если я опубликую эту форму, могу ли я использовать ее для цикла в laravel DB::Begintrasaction? потому что мне нужно создать записи в БД для каждого билета нет одинаковых значений для других входов только серийный номер. различное значение. Спасибо
<form>
<input type="hidden" name="lastTicketValue" value=BMPS3001>
Generated ticked number
<input type="text" name="generatedticket[]" value="BMPS3002">
Quantity of tickects
<input type="number" value="">
Ticket value
<input type="text" value="">
</form>
Ответы - вопрос по jQuery для генерации входных значений других входных значений / jquery question generate input value by other input value

02.10.2020 04:16:16
Следующий код обнаруживает изменение количества, генерирует серийные номера и печатает их внутри входного сигнала "generatedticket". Обратите внимание, что например вы поставили 2 внутри количество он будет генерировать "BMPS3002, BMPS3003", а затем вы положите 1, он будет генерировать "BMPS3004". Вы можете избежать этого, комментируя:
var lastEl = list[list.length - 1];
console.log("lastEl " + lastEl);
lastTicket.val(lastEl);
Например, вы можете вставить эти 3 строки кода в отправку формы.
HTML:
<form>
<input type="hidden" id="lastTicketValue" value=BMPS3001>
<input type="text" id="generatedticket" value="">
<input id="ticket-quantity" type="number" value="">
<input type="text" value="">
</form>
JS:
$("form").on("change", "#ticket-quantity", function () {
var quantity = parseInt($(this).val());
console.log(quantity);
if (quantity > 0){
var generatedTicket = $("#generatedticket");
var lastTicket = $("#lastTicketValue");
var lastTicketValue = lastTicket.val();
var lastTicketNumber = (lastTicketValue
.match(/\d+\.\d+|\d+\b|\d+(?=\w)/g) || [])
.map(function (v) { return +v; }).pop();
console.log("lastTicketValue " + lastTicketValue);
console.log("lastTicketNumber " + lastTicketNumber);
var list = [];
for (var i = 1; i < quantity + 1; i++) {
list.push(lastTicketValue.replace(lastTicketNumber, lastTicketNumber + i));
}
console.log(list);
generatedTicket.attr("value", list);
var lastEl = list[list.length - 1];
console.log("lastEl " + lastEl);
lastTicket.val(lastEl);
}
});
JS Скрипка: https://jsfiddle.net/baj1pgoz/