Select2: отключено значение выбранного параметра не работает - PullRequest
1 голос
/ 17 мая 2019

У меня есть модуль, который вы перенесете кол-во со «склада» на «склад до» (склад из & склад Это мои выпадающие списки)

Я хочу поставить подтверждение, что вы больше не можете выбирать первый выбранный склад, поступающий из «склад из»

View

<div class="row">
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6 input-padding-left">
    <div class="form-group">  
        <label>Document Reference</label>
        <input type="text" name="document_reference" class="form-control">
    </div>
    <div class="form-group">
        <label>From:</label>
        <select class="form-control warehouse" name="warehouse_from" required="required" id="warehouse_from" style="width: 100%;">
            <option></option>
            <option value="0">Unassigned Warehouse</option>
            @if($warehouses)
                @foreach($warehouses as $v => $warehouse)
                    <option value="{{ $warehouse->id }}">{{ $warehouse->name }}</option>
                @endforeach
            @endif
        </select>
    </div>
</div>
<hr>
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6 input-padding-right">
    <div class="form-group">
        <label>Posting Date</label>
        <input type="text" name="posting_date" class="form-control dates">
    </div>
    <div class="form-group">
        <label>To:</label>
        <select class="form-control warehouse" name="warehouse_to" id="warehouse_to" required="required" style="width: 100%;">
            <option></option>
            @if($warehouses)
                @foreach($warehouses as $v => $warehouse)
                    <option value="{{ $warehouse->id }}">{{ $warehouse->name }}</option>
                @endforeach
            @endif
        </select>
    </div>
</div>

Jquery

$('.warehouse').select2({
        placeholder: "Select a Warehouse",
    });
    $(document).on('select2:select', '#warehouse_from', function(e){
        // $('#warehouse_from  ').on('change',function(){
        //send ajax request
        var id         = $(this).val(); 
        var val        = $('#warehouse_from option:selected').text();
        alert(val);
       $(this).find('option').prop('disabled',false);  
       $(this).find('option[value='+val+']').prop('disabled',true);
        getItemsByWarehouse(id);
        e.preventDefault();
        return false;
    });

Вопрос: почему мой инвалид не работал?

Ответы [ 2 ]

0 голосов
/ 17 мая 2019

Моя ошибка заключается в том, что я отключаю значение, поступающее со склада, а не из хранилища.

**Jquery**

$(document).on('select2:select', '#warehouse_from', function(e){
        //send ajax request
        var id         = $(this).val(); 
        var val        = $('#warehouse_from option:selected').text();
        alert(id);
       $('select#warehouse_to>option[value="'+id+'"]').attr('disabled','disabled');
        getItemsByWarehouse(id);
        e.preventDefault();
        return false;
    });
0 голосов
/ 17 мая 2019

Вы получаете текст, а не значение выбранного элемента option:

var val = $('#warehouse_from option:selected').text();
// ...
$(this).find('option[value='+val+']').prop('disabled',true);

Должно быть:

var val = $('#warehouse_from option:selected').val();
// ...
$(this).find('option[value='+val+']').prop('disabled',true);
...