133 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			133 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
| var customPropId = -1;//自定义属性类型ID
 | |
| var customPropValId = -1;//自定义属性值id
 | |
| $(function(){
 | |
| 	//克隆SKU模板生成自定义sku
 | |
| 	$(document).on("click" , ".cloneSku" , function(){
 | |
| 		var cloneSource = $("#skuCloneModel");//要克隆的sku模板
 | |
| 		var cloneNode = cloneSource.clone(true);//克隆出来的节点
 | |
| 		cloneNode.css("display","block");//显示元素
 | |
| 		//移除id
 | |
| 		cloneNode.removeAttr("id");
 | |
| 		customPropId -- ;
 | |
| 		//设置自定义属性类型主键
 | |
| 		$(cloneNode).find(".cusSkuTypeInput").parent().attr("propid",customPropId);
 | |
| 		//设置SKU类型主键 propid
 | |
| 		$(cloneNode).find(".cusSkuValInput").prev().attr("propid",customPropId);
 | |
| 		customPropValId -- ;
 | |
| 		//设置自定义属性类型值主键
 | |
| 		$(cloneNode).find(".cusSkuValInput").prev().attr("propvalid",customPropValId);
 | |
| 		$(this).before(cloneNode);//添加到该按钮的前面
 | |
| 	});
 | |
| 	
 | |
| 	//添加自定义sku值
 | |
| 	$(document).on("click",".cloneSkuVal",function(){
 | |
| 		//要克隆的SKU值模板
 | |
| 		var cloneSource = $("#onlySkuValCloneModel");
 | |
| 		//克隆出来的节点
 | |
| 		var cloneNode = cloneSource.clone(true);
 | |
| 		//移除id
 | |
| 		cloneNode.removeAttr("id");
 | |
| 		//获取并设置SKU类型主键
 | |
| 		var propid = $(this).parents("ul").prev().find("li").attr("propid");
 | |
| 		$(cloneNode).find(".cusSkuValInput").prev().attr("propid",propid);
 | |
| 		customPropValId -- ;
 | |
| 		//设置自定义属性类型值主键
 | |
| 		$(cloneNode).find(".cusSkuValInput").prev().attr("propvalid",customPropValId);
 | |
| 		//显示元素
 | |
| 		cloneNode.css("display","block");
 | |
| 		//添加到该按钮的前面
 | |
| 		$(this).before(cloneNode);
 | |
| 	});
 | |
| 	
 | |
| 	//SKU类型改变
 | |
| 	$(document).on("change", ".cusSkuTypeInput", function(){
 | |
| 		//判断当前的SKU类型是否已经存在
 | |
| 		var isHaveThisSkuType = false;
 | |
| 		var customSkuTypeName = $(this).val();
 | |
| 		if(customSkuTypeName){
 | |
| 			$("ul[class*='SKU_TYPE']").find("li").each(function(){
 | |
| 				var currSkuTypeName = $(this).attr("sku-type-name");//当前SKU类型名称
 | |
| 				if(currSkuTypeName == customSkuTypeName){//该SKU类型已经存在
 | |
| 					isHaveThisSkuType = true;
 | |
| 				}
 | |
| 			});
 | |
| 		}
 | |
| 		if(isHaveThisSkuType){
 | |
| 			layer.alert("该SKU类型已经存在!");
 | |
| 			$(this).val("");
 | |
| 		}
 | |
| 		//赋值类型属性
 | |
| 		$(this).parent().attr("sku-type-name",$(this).val());
 | |
| 		if(!$(this).val() || isHaveThisSkuType){
 | |
| 			$(this).parent().parent().next().find("input[type='checkbox'][class*='sku_value']").each(function(){
 | |
| 				//取消选中
 | |
| 				$(this).attr("checked",false)
 | |
| 				//移除class
 | |
| 				$(this).removeClass("sku_value");
 | |
| 			});
 | |
| 		}
 | |
| 		//触发change事件,重绘表格
 | |
| 		$(".model_sku_val").trigger("change");
 | |
| 	});
 | |
| 	
 | |
| 	//SKU值改变
 | |
| 	$(document).on("change", ".cusSkuValInput", function(){
 | |
| 		var isHaveSkuVal = false;//是否已经存在当前的SKU值
 | |
| 		var thisSkuVal = $(this).val();
 | |
| 		//判断SKU值是否已经重复了
 | |
| 		$(".model_sku_val,.sku_value").each(function(){
 | |
| 			var customSkuVal = $(this).val();//当前SKU值
 | |
| 			if(thisSkuVal == customSkuVal){
 | |
| 				isHaveSkuVal = true;
 | |
| 				return;
 | |
| 			}
 | |
| 		});
 | |
| 		
 | |
| 		if(isHaveSkuVal){
 | |
| 			layer.alert("该SKU类型已经存在!");
 | |
| 			$(this).val("");
 | |
| 		}
 | |
| 		$("input[type*='checkbox'][class*='']")
 | |
| 		var cusSkuVal = $(this).val();
 | |
| 		if(!cusSkuVal || isHaveSkuVal){
 | |
| 			//移除class
 | |
| 			$(this).prev().removeClass("sku_value");
 | |
| 			if($(this).prev().is(":checked")){
 | |
| 				//移除选中
 | |
| 				$(this).prev().attr("checked",false);
 | |
| 			}
 | |
| 		}
 | |
| 		//赋值类型属性
 | |
| 		$(this).prev().val(cusSkuVal);
 | |
| 		//触发change事件
 | |
| 		$(".model_sku_val").trigger("change");
 | |
| 	});
 | |
| 	
 | |
| 	//未设置sku值和属性的sku选择框改变事件
 | |
| 	$(document).on("change",".model_sku_val",function(){
 | |
| 		//SKU类型
 | |
| 		var skuTypeVal = $(this).parent().parent().prev().find("li").attr("sku-type-name");
 | |
| 		//是否设置了sku类型及sku值
 | |
| 		if(skuTypeVal && $(this).val()){
 | |
| 			//添加class
 | |
| 			$(this).addClass("sku_value");
 | |
| 		}
 | |
| 		//触发change事件,重绘表格
 | |
| 		$("input[type='checkbox']").first().trigger("change");
 | |
| 	});
 | |
| 	
 | |
| 	//删除自定义sku类型模块
 | |
| 	$(document).on("click",".delCusSkuType",function(){
 | |
| 		$(this).parent().parent().parent().remove();
 | |
| 		//触发change事件,重绘表格
 | |
| 		$("input[type='checkbox']").first().trigger("change");
 | |
| 	});
 | |
| 	
 | |
| 	//删除自定义sku值
 | |
| 	$(document).on("click",".delCusSkuVal",function(){
 | |
| 		$(this).parent().remove();
 | |
| 		//触发change事件,重绘表格
 | |
| 		$("input[type='checkbox']").first().trigger("change");
 | |
| 	});
 | |
| })
 |