отключить клонированный select2 - PullRequest
5 голосов
/ 07 января 2020

Привет, я новичок в веб-разработке и столкнулся с этой проблемой. Кто-нибудь может мне помочь

, поэтому код

<div id="compatibility-clone" class="row" style="display: none;">
    <div class="col-md-3">
        <select class="form-control compatibility-item" name="vehicle_brand">
            <option></option>
            @foreach ($vehicleBrands as $key => $val)
                <option value="{{ $val->id }}" {{ (old('vehicle_brand') == $val->id) ? 'selected' : '' }}>{{ $val->name }}</option>
            @endforeach
        </select>
    </div>
    <div class="col-md-3">
        <select class="form-control compatibility-item" name="vehicle_model"></select>
    </div>
    <div class="col-md-3">
        <select class="form-control compatibility-item" name="vehicle_type"></select>
    </div>
    <div class="col-md-3">
        <select class="form-control compatibility-item" name="vehicle_year"></select>
    </div>
</div>

клонирование в этот div

<div id="compatibility" class="form-group">
    <label for="Compatibilities" style="width: 100%">Compatibilities</label>
    <button id="addCompatibilities" type="button" class="btn btn-outline-info">Add Compatibilites</button> 
</div>

Мои Js и Jquery - это

$("#addCompatibilities").on('click', function(e){
    e.preventDefault();
    var compatibilitiesClone = $('#compatibility-clone').clone();
    compatibilitiesClone.removeAttr('id');
    $('#addCompatibilities').before(compatibilitiesClone.show())
    $('#compatibility').find('.compatibility-item').select2({
        placeholder: "Select",
        allowClear: true,
        width: '100%',
    });
    $('#compatibility').find('.row').each(function() {
        $(this).find('select[name="vehicle_brand"]').change(function(){
            console.log($(this).val());
            $(this).find("select[name=vehicle_model]").empty();            
            generateModels($(this).val());
        });
    });
});

, если я попытаюсь создать 2-го или 3-го. .. Строка, затем я нажимаю кнопку, ошибка возникает потому, что, по-видимому, также изменился мой выпадающий список в клонированном div compatibility-clone . Интересно, есть ли способ решить это?

PS извините за плохую грамматику

...