var alreadySetSkuVals = {};//已经设置的SKU值数据 $(function(){ //sku属性发生改变时,进行表格创建 $(document).on("change",'.sku_value',function(){ //所有 input getAlreadySetSkuVals() createTab() }); }); function createTab(type='') { var b = true; var skuTypeArr = [];//存放SKU类型的数组 var totalRow = 1;//总行数 //获取元素类型 $(".SKU_TYPE").each(function(){ // 标题 土豪金 黑色 //SKU类型节点 var skuTypeNode = $(this).children("li"); // 标题下 的li 遍历 var skuTypeObj = {};//sku类型对象 //SKU属性类型标题 skuTypeObj.skuTypeTitle = $(skuTypeNode).attr("sku-type-name"); // li 的类 以后赋给 生成的li 对象属性 //SKU属性类型主键 skuTypeObj.skuTypeKey = $(skuTypeNode).attr("propid"); // 自定义 id 值 1, 2 , 3 //是否是必选SKU 0:不是;1:是; var is_required = $(skuTypeNode).attr("is_required"); skuValueArr = [];//存放SKU值得数组 //SKU相对应的节点 var skuValNode = $(this).next(); // 兄弟 节点 所有 input 节点 //获取SKU值 var skuValCheckBoxs = $(skuValNode).find("input[type='checkbox'][class*='sku_value']"); // input value var checkedNodeLen = 0 ;//选中的SKU节点的个数 $(skuValCheckBoxs).each(function(){ if($(this).is(":checked")){ // 选中所有的 input 值 var skuValObj = {};//SKU值对象 skuValObj.skuValueTitle = $(this).val();//SKU值名称 skuValObj.skuValueId = $(this).attr("propvalid");//SKU值主键 skuValObj.skuPropId = $(this).attr("propid");//SKU类型主键 skuValueArr.push(skuValObj); checkedNodeLen ++ ; } }); if(is_required && 1 == is_required){//必选sku if(checkedNodeLen <= 0){//有必选的SKU仍然没有选中 b = false; return false;//直接返回 } } if(skuValueArr && skuValueArr.length > 0){ totalRow = totalRow * skuValueArr.length; skuTypeObj.skuValues = skuValueArr;//sku值数组 skuTypeObj.skuValueLen = skuValueArr.length;//sku值长度 skuTypeArr.push(skuTypeObj);//保存进数组中 } }); // skuTypeArr = skuTypeArrCopy var SKUTableDom = "";//sku表格数据 //开始创建行 if(b){//必选的SKU属性已经都选中了 // //调整顺序(少的在前面,多的在后面) // skuTypeArr.sort(function(skuType1,skuType2){ // return (skuType1.skuValueLen - skuType2.skuValueLen) // }); // SKUTableDom += "
'+skuTypeArr[t].skuTypeTitle+' | '; } SKUTableDom += '价格 | 库存 | '; SKUTableDom += "'+skuValues[point].skuValueTitle+' | '; propvalidArr.push(skuValues[point].skuValueId); propIdArr.push(skuValues[point].skuPropId); propvalnameArr.push(skuValues[point].skuValueTitle); }else{ //当前单元格为跨行 propvalidArr.push(skuValues[parseInt(point)].skuValueId); propIdArr.push(skuValues[parseInt(point)].skuPropId); propvalnameArr.push(skuValues[parseInt(point)].skuValueTitle); } } // // //进行排序(主键小的在前,大的在后),注意:适用于数值类型的主键 // propvalidArr.sort(function(provids1,propvids2){ // return (provids1 - propvids2) // }); var propvalids = propvalidArr.toString() var alreadySetSkuPrice = "";//已经设置的SKU价格 var alreadySetSkuStock = "";//已经设置的SKU库存 console.log(propvalids, '已经设置的SKU库存') //赋值 if(alreadySetSkuVals){ var currGroupSkuVal = alreadySetSkuVals[propvalids];//当前这组SKU值 if(currGroupSkuVal){ alreadySetSkuPrice = currGroupSkuVal.skuPrice; alreadySetSkuStock = currGroupSkuVal.skuStock } } //console.log(propvalids); SKUTableDom += `
---|---|---|