首页 > 解决方案 > 如何使每个 ID 或编号的选择字段(年份列表)唯一并从下拉列表中删除选定的年份?

问题描述

我是 laravel 的新手,我试图在为特定 ID 或数字选择年份时实现一项功能,该年份将从下拉列表中删除或不会列出。到目前为止,我在下面添加了屏幕截图和我的代码。我实际上正在努力解决这个问题。:(

如果您需要检查我的 controller.php 和其他内容,请告诉我。

这是我的代码:JS:

$(document).ready(function () {
    // input fields
    $("#tax-dec-form").on('submit', function (e) {
        e.preventDefault()
        $('#tax-dec-form').find('span.error').remove() //resets error messages

        let _url = null;
        let data = $('#tax-dec-form').serialize();
        if ($('#tax-dec-form').hasClass('new')) {
            _url = 'add-tax-info'
            data = $('#tax-dec-form').serialize() + "&pin_id=" + pin_id
        } else {
            _url = 'update-tax-info'
        }

        $.ajax({
            url: _url,
            type: "POST",
            data: data,
            success: function (response) {
                if (response.code == 200) {
                    //console.log(response)
                    $('#tax-dec-form').removeClass('new');
                    swal({ title: "Success!", text: response.message, type: "success", buttonsStyling: false, confirmButtonClass: "btn btn-success" })
                }
            },
            error: function (response) {
                console.warn(response.responseJSON.errors)
                $.each(response.responseJSON.errors, function (field_name, error) {
                    if ($(document).find('#tax-dec-form [name=' + field_name + ']').next().is('span')) {
                        $(document).find('#tax-dec-form [name=' + field_name + ']').next('span').remove()
                    }
                    $(document).find('#tax-dec-form [name=' + field_name + ']').after('<span class="error text-danger">' + error + '</span>')

                })
            }
        })
    })
    $('[data-toggle="tooltip"]').tooltip()
})

//for dynamic year list
$(document).ready(function () {
    var d = new Date();
    for (var i = 0; i <= 40; i++) {
        var option = "<option value=" + parseInt(d.getFullYear() + i) + ">" + parseInt(d.getFullYear() + i) + "</option>"
        $('[id*=DropDownList1]').append(option);
    }
});

刀片.php:

<div class="content menu-css">
    <div class="container-fluid">
        {{-- upper form here --}}
        <div class="row">
            <div class="col-md-12">
                <div class="card">
                    <div class="card-header card-header-primary">
                        <h4 class="card-title">Tax Information</h4>
                        <p class="card-category">Please complete all fields</p>
                    </div>
                    <div class="form-group">&nbsp</div>
                    <div class="card-body">
                        @if (session('status'))
                        <div class="row">
                            <div class="col-sm-12">
                                <div class="alert alert-success">
                                    <button type="button" class="close" data-dismiss="alert" aria-label="Close">
                                        <i class="material-icons">close</i>
                                    </button>
                                    <span>{{ session('status') }}</span>
                                </div>
                            </div>
                        </div>
                        @endif
                        <div class="form_container">
                            <form action="/action_page.php" id="tax-dec-form" {{$taxesInfo !== null ? '' : 'class=new'}}>
                                @csrf
                                <div class="form-group">
                                    <label for="taxdeclarationnumber">Tax Declaration No:</label>
                                    <input value="{{ $taxesInfo->tax_declaration_number ?? ''}}" type="text" class="form-control" name="tax_declaration_number" placeholder="Input Tax Declaration No..">
                                </div>
                                <div class="form-group">&nbsp</div>
                                <div class="form-group">
                                    <label for="current">Current RPT: </label>
                                    <input type="text" value="{{ $taxesInfo->current_rpt ?? ''}}" class="form-control" name="current_rpt" placeholder="Input Current RPT..">
                                </div>

                                <div class="form-group">
                                    <label for="years" class="bmd-label-static">Select Tax Declaration Year</label>
                                    <select id="DropDownList1" class="custom-select mr-sm-2" data-style="btn btn-secondary" name="year">

                                    </select>
                                </div>
                            </form>
                        </div>
                        <div class="clearfix">&nbsp;</div>
                        <div id="form-footer">
                            <button type="button" class="btn btn-primary" data-dismiss="modal" id="btn-save1">Save</button>
                        </div>
                        <div class="clearfix"></div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

标签: ajaxlaravel-5

解决方案


推荐阅读