Как передать результат jQuery в атрибут number field max в laravel?

#jquery #laravel

#jquery #laravel

Вопрос:

Я работаю с формой, которая заполняется сценарием автозаполнения jQuery. Он заполняет код продукта, название продукта, количество и идентификатор. форма и скрипты работают очень хорошо. Моя проблема в том, что я понимаю, что мне нужно установить для результата jquery quantity значение атрибута MAX в моем числовом поле (поле количества), к сожалению, я только начал учиться кодировать в jQuery.

Вот строка из моей формы:

 <tr>
    <td><input class="form-control autocomplete_txt product_code" type='text' data-type="product_code" id='product_code_1' name='' for="1" required/></td>
    <td><input class="form-control autocomplete_txt product_name" type='text' data-type="product_name" id='product_name_1' name='' for="1" required/></td>
    <td><input class="form-control qty_in" type='number' data-type="qty_in" id='qty_in_1' name='qty_in[]' min='' max=''for="1" required/></td>
    <input class="form-control product_id" type='hidden' data-type="product_id" id='product_id_1' name='product_id[]'/>
    <input class="form-control" type='hidden' id='user_id' name='user_id' value='{{ auth()->user()->id }}' /> 
    <td><button type="button" name="add" id="add" class="btn btn-success circle"><i class="fas fa-plus-circle"></i></button></td>
</tr>
  

Вот как это выглядит
введите описание изображения здесь

Вот сценарий автозаполнения jquery

 //autocomplete script
$(document).on('focus','.autocomplete_txt',function(){
  type = $(this).data('type');

  if(type =='product_code' )autoType='product_code'; 
  if(type =='product_name' )autoType='name'; 
  // if(type =='qty_in' )autoType='qty_in'; 
  // if(type =='product_id' )autoType='id'; 

   $(this).autocomplete({
       minLength: 0,
       source: function( request, response ) {
            $.ajax({
                url: "{{ route('searchStock') }}",
                dataType: "json",
                data: {
                    term : request.term,
                    type : type,
                },
                success: function(data) {
                    var array = $.map(data, function (item) {
                       return {
                           label: item[autoType],
                           value: item[autoType],
                           data : item
                       }
                   });
                    response(array)
                }
            });
       },
       select: function( event, ui ) {
           var data = ui.item.data;           
           id_arr = $(this).attr('id');
           id = id_arr.split("_");
           elementId = id[id.length-1];
           $('#product_code_' elementId).val(data.product_code);
           $('#product_name_' elementId).val(data.name);
           $('#qty_in_' elementId).val(data.qty_in);
           $('#product_id_' elementId).val(data.id);
       }
   });
});
  

Моя проблема в том, как я могу установить data.qty_in в качестве МАКСИМАЛЬНОГО значения моего атрибута поля quantity number? Чтобы это не позволяло пользователю вводить сумму, превышающую data.qty_in, при вводе количества. заранее большое вам спасибо!

Комментарии:

1. Вы хотите запретить пользователю вводить сумму, превышающую data.qty_in , при вводе количества?

2. Да, @Adam точно. как это будет возможно?

3. Вы можете предотвратить это, установив поле ввода как number: <тип ввода=»number» name = «quantity» min = «1» max = «5»> и: $ (‘#qty_in_’ elementId).attr(«max»,data.qty_in); Но это не может помешать кому-либо принудительно обновлять этот ввод, чтобы он был больше MAX, поэтому вам все равно потребуется некоторая проверка сервера…

4. Как насчет этого кода, <тип сценария = «текст / javascript»> var $orderItem_id = {{$order_item_id}}; $(‘#stock_in_qty_’ $orderItem_id).on (‘нажатие клавиши мыши’, функция () { $(this).val(Math.min({{$remainingDeliveries}}, Math.max(0, $(this) .вэл()))); }); </ скрипт> можем ли мы это переписать?