$(function () { var template = $('template.spec-tpl').html(); $('input[name="product_id"]').change(function () { $.ajax({ url: '{{url}}', method: 'POST', data: {id: $(this).val(), _form_: '{{class}}'}, success: function (res) { var fields = { supplier_name: 'name', supplier_date: 'date', supplier_price: 'price', supplier_stock: 'stock', price: 'price', stock: 'stock', original_price: 'original_price', product_spec_id: 'id' }; var data = res.data; var forms = $('.has-many-spec-forms'); //如果是原来数据库已经保存有id,调用click,提交的时候会同时删除数据库,否则直接remove掉,减小HTML体积 forms.children().each(function () { if ($(this).find('.field_id').val()) { $(this).find('.remove.btn').click(); } else { $(this).remove(); } }); for (var key in data) { var row = $(template.replace(/new___LA_KEY__/g, key)); for(var key2 in fields) { var value = fields[key2], insert_value; if (key2 === 'original_price') { insert_value = (data[key][value] * 2).toFixed(2); } else if (key2 === 'price') { insert_value = (data[key][value] * (1 + {{profit}})).toFixed(2); } else { insert_value = data[key][value]; } row.find('input.field_' + key2).val(insert_value); } forms.append(row); } }, error: function () { Dcat.error('服务器出现未知错误,获取供应商产品规格失败'); } }); }); });