简体   繁体   English

从 Laravel 和 JavaScript 的动态输入中获取旧值?

[英]Get old value from dynamic input in Laravel with JavaScript?

I want to get the old value from dynamic input on Laravel.我想从 Laravel 上的动态输入中获取旧值。 If it's a regular input, I only need {{ old ('name') }} .如果是常规输入,我只需要{{ old ('name') }} But what if the input is dynamic?但是如果输入是动态的呢?

View看法

<tr>
    <td>
        <input type="text" name="name_progress[]"
               value="{{ old('name_progress[]') }}"
               placeholder="Enter name" class="form-control"/>
    </td>
    <td>
        <input type="text" name="payment_percentage[]"
               value="{{ old('payment_percentage[]') }}"
               placeholder="Enter % invoice" class="form-control"/>
    </td>
    <td>
        <a type="button" class="btn btn-danger remove-tr">-</a>
    </td>
</tr>

JavaScript JavaScript

<script type="text/javascript">
    $("#add-btn").click(function () {
        var tr = '<tr>' +
            '<td>' +
            '<input type="text" name="name_progress[]" ' +
            'placeholder="Enter name" class="form-control" /></td>' +
            '<td><input type = "text" name = "payment_percentage[]" ' +
            'placeholder = "Enter per_invoice" class = "form-control" />' +
            '</td>' +
            '<td><a type="button" class="btn btn-danger remove-tr">-</a></td>' +
            '</tr>';
        $("#dynamicProgress").append(tr);
    });
    $(document).on('click', '.remove-tr', function () {
        $(this).parents('tr').remove();
    });
</script>

Since name_progress and payment_percentage fields are arrays, you may simply loop through the old input values.由于name_progresspayment_percentage字段是 arrays,您可以简单地遍历旧输入值。

@forelse (old('name_progress', []) as $i => $name_progress)
    <tr>
        <td>
            <input type="text" name="name_progress[]" value="{{ $name_progress }}" placeholder="Enter name" class="form-control" />
        </td>
        <td>
            <input type="text" name="payment_percentage[]" value="{{ old('payment_percentage')[$i] }}" placeholder="Enter % invoice" class="form-control" />
        </td>
        <td>
            <a type="button" class="btn btn-danger remove-tr">-</a>
        </td>
    </tr>
@empty
    <tr>
        <td>
            <input type="text" name="name_progress[]" placeholder="Enter name" class="form-control" />
        </td>
        <td>
            <input type="text" name="payment_percentage[]" placeholder="Enter % invoice" class="form-control" />
        </td>
        <td>
            <a type="button" class="btn btn-danger remove-tr">-</a>
        </td>
    </tr>
@endforelse

If old('name_progress') is empty or null, initial fields with empty values will be displayed.如果old('name_progress')为空或 null,将显示具有空值的初始字段。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM