【问题标题】:jquery question generate input value by other input value [closed]jquery问题通过其他输入值生成输入值[关闭]
【发布时间】:2021-01-18 03:17:33
【问题描述】:

我有一个简单的票表格,其中包含最后一张票序列号的隐藏输入。 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>

【问题讨论】:

  • 如果你把 3 放在 quatity 里面,你想要 3 个输入还是 1 个输入有 3 个值?如果你想要 3 个值,它们必须在其他地方显示或存储?
  • 我需要 3 个值,是的,然后它们需要传递给 db。像 3 db 行

标签: jquery database laravel forms


【解决方案1】:

以下代码检测数量的变化,生成序列号并在“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/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多