嗨,我有这个jQuery脚本,可抓取某个laravel变量并将其设置为数字字段的最大值。这样我可以确保用户输入的值不能大于变量的值。这是脚本
var $limitQty = $('#product_name_1').val();
$('#product_name_1'+$orderItem_id).on('mouseup keyup', function () {
$(this).val(Math.min({{$remainingDeliveries}}, Math.max(0, $(this).val())));
});
这是数字字段
<input class="form-control qty_in" type='text' data-type="qty_in" id='qty_in_1' name='qty_in[]' data-max='{{$remainingDeliveries}}' onkeyup='check(this);' for="1"/>
它们工作正常
现在我的问题是我有表格,但数字字段相同,需要此脚本具有不同的数据源。数据来自自动完成的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);
$('#qty_out_'+elementId).val(data.qty_out);
$('#product_id_'+elementId).val(data.id);
}
});
});
我试图完成的是,如果可能的话,我想从$('#qty_in _'+ elementId).val(data.qty_in);中获取值。并放在$(this).val(Math.min({{--- PUT HERE ---}}, Math.max(0, $(this).val())));
中可以吗?请帮帮我。提前非常感谢您!
答案 0 :(得分:0)
您可以在输入中添加数据属性,并根据自己的需要访问它
select: function( event, ui ) {
...
$('#qty_in_'+elementId).val(data.qty_in).data('max',data.qty_in);
}
答案 1 :(得分:0)
这个对我有用。
选择:function(event,ui){ ... $('#qty_in _'+ elementId).val(data.qty_in).prop('max',data.qty_in); }