这是一个坑啊,写了我几天,最后靠着我大佬的一个几行的获取输入框的name属性的函数,就解决了,特此记录一下。
//定义一个数组存放不重复的数据
var goodsNameArray = [];
//扫码枪获取条形码
$(document).keyup(function(event){
if(event.keyCode == 13){
//截取货号
var Art_No = $(".input-value").val().slice(2,6)
//截取重量
var weight = parseFloat($(".input-value").val().slice(6,12))/1000
//条形码框清空
$(".input-value").val("")
//截取货号后请求数据
$.ajax({
type: 'POST',
url: '{:url("saleorder/oneGoods")}',
data: {Art_No:Art_No},
success: function(res){
//判断goodsNameArray数组是否存在相同商品
var result = goodsNameArray.some(item => {
if (item.goods_name == res[0].goods_name) {
return true
}
})
// 如果arr数组对象存在就会返回true,不存在返回false
if (result) {
var goodsRepetition = String(res[0].goods_property_id)
var goodsWeight = weight
$("input[name^='goods_property_id']").each(function (i, n) {
var val = $(n).val();//取得输入框值
var names = n.name;//取得输入框的name
var ids = n.id//取得输入框id
if(goodsRepetition == val){
var ax = names.slice(18,20)
var axName = ".input_fields_wrap3 .table-myclass input[name='num["+ax+"]']"
var axWeight = Number($(axName).val()) + goodsWeight
$(axName).val(axWeight)
$(axName).focus()
$(".input-value").focus();
}
});
}else {
goodsNameArray.push(res[0])
}
if (x3 < max_fields3) {
//获取当前创建的输入框的数量
var inputArray = $(".input_fields_wrap3 input");
var str = String(inputArray.length);
var num = Number(str.substring(0, 1))
var numX3 = num + 1;
x3 = numX3;
if (goodsNameArray[x3 - 1]) {
//获取商品id
var goods_id = goodsNameArray[x3 - 1].goods_id;
//获取商品名称
var goods_name = goodsNameArray[x3 - 1].goods_name;
//获取计量单位
var goods_units = goodsNameArray[x3 - 1].units;
//属性id
var goods_property_id = goodsNameArray[x3 - 1].goods_property_id;
//规格
var goods_spec = goodsNameArray[x3 - 1].goods_spec;
//价格
var goods_price = goodsNameArray[x3 - 1].sales_price;
//获取商品编号
var goods_no = goodsNameArray[x3 - 1].goods_no;
//获取供应商id
var supplier_id = goodsNameArray[x3 - 1].supplier_id;
//行数
var trnum = $(".input_fields_wrap3").find("tr").length;
trnum = trnum + 1;
var addhtml = '';
addhtml = '<tr class="text-c">' +
'<td>' + trnum + '</td>' +
'<td class="text-l goodsNameVal">' + goods_name +
'<input type="hidden" class="input-text" name="goods_name[a' + x3 + ']" value="' + goods_name + '">' +
'<input type="hidden" name="goods_id[a' + x3 + ']" value="' + goods_id + '">' +
'<input type="hidden" name="goods_spec[a' + x3 + ']" value="' + goods_spec + '">' +
'<input type="hidden" name="supplier_id[a' + x3 + ']" value="' + supplier_id + '">' +
'<input type="hidden" name="goods_spec[a' + x3 + ']" value="' + goods_spec + '">' +
'</td>' +
'<td class="text-c">' + goods_spec + '</td>' +
'<td class="nowrap1">' +
'<input type="text" class="input-text text-r prices" name="QTYC[a' + x3 + ']" id="QTYC_a' + x3 + '" value="" readonly>' +
'<input type="text" class="input-text text-c units" name="unitsc[a' + x3 + ']" id="unitsc_a' + x3 + '" value="' + goods_units + '" readonly>' +
'</td>' +
'<td class="nowrap1 table-myclass"><input type="text" class="input-text text-r fieldtxt" name="num[a' + x3 + ']" id="num_a' + x3 + '" fieldid="a' + x3 + '" value="' + weight + '"></td>' +
'<td class="nowrap1">' + goods_units +
'<input type="hidden" class="input-text text-c fieldtxt" name="units[a' + x3 + ']" id="units_a' + x3 + '" value="' + goods_units + '" >' +
'<input type="hidden" name="goods_property_id[a' + x3 + ']" value="' + goods_property_id + '">' +
'</td>' +
'<td class="nowrap1 table-uprice"><input type="text" class="input-text text-r fieldtxt" name="price[a' + x3 + ']" id="price_a' + x3 + '" value="' + goods_price + '" fieldid="a' + x3 + '"></td>' +
'<td><input type="text" class="input-text text-r fieldtxt table-amounts" name="amounts[a' + x3 + ']" id="amounts_a' + x3 + '" value="" onBlur="moneys()"></td>' +
'<td><a href="javascript:;" class="ml-5 remove_field" style="text-decoration:none;"><i class="Hui-iconfont"></i></a></td>' +
'</tr>'
$(".input_fields_wrap3").append(addhtml);
var namenum = '.input_fields_wrap3 #num_a' + x3;
$(namenum).focus();
$(".input-value").focus();
}
x3++;
}
}
});
}
})