function GroupConfig(prodId, groupConfig) { // 初始化数据 var standards = groupConfig.standards; var mainShow = groupConfig.mainShow; var subShow = groupConfig.subShow; var mainDiv = jQuery("#mainConfig_"+prodId); var parentDiv = mainDiv.parents("#groupParent"); // mainDiv.append(""); var mainUl = mainDiv.find("ul"); var baseDiscountPrice = groupConfig.price.discountPrice; var basePrice = groupConfig.price.price; var subDiv = jQuery("#subConfig_"+prodId); if (subShow != null) { //subDiv.append(""); var subUl = subDiv.find("ul"); } // 缓存库存 for(i=0; i"); } // 生成主属性 for(i=0; i"+config.attribute.value+""); } else { mainUl.append("
  • "+config.attribute.value+"
  • "); } } // 生成从属性 if (subShow != null) { for(i=0; i"+config.attribute.value+""); } } // 单击主属性事件 mainDiv.find("li").each(function(i,o){ jQuery(o).click(function(){ mainDiv.find("li").each(function(ii,oo){jQuery(oo).removeClass("choose");}); // 清除主属性选择 //subDiv.find("li").each(function(ii,oo){jQuery(oo).removeClass("choose");}); // 清除从属性选择 parentDiv.find("#errInfo").html(""); // 清除错误信息 jQuery(o).addClass("choose"); // 选择主属性 if (subShow != null) { changeSubConfig(o); // 更新从属性显示 } changeGroupPhoto(o); // 更新图片显示 }); }); // 单击从属性事件 if (subShow != null) { subDiv.find("li").each(function(i,o){ jQuery(o).click(function(){ subDiv.find("li").each(function(ii,oo){jQuery(oo).removeClass("choose");}); // 清除从属性选择 jQuery(o).addClass("choose"); // 选择从属性 }); }); } // OK按钮单击事件 parentDiv.find("input[value='OK']").click(function(){ var selectedInfo = ""; var c1 = mainDiv.find("li[class='choose']").text(); // 寻找选中主属性 var errInfo = parentDiv.find("#errInfo"); // 未选主属性,提示错误 if (c1 == null || c1=="") { errInfo.html("Please choose " + mainUl.attr("name")); return; } else { errInfo.html(""); } if (subShow != null) { var c2 = subDiv.find("li[class='choose']").html(); if (c2 == null) { errInfo.html("Please choose " + subUl.attr("name")); return; } else { errInfo.html(""); } } var mainId = mainDiv.find("li[class='choose']").attr("mainId"); if (subShow != null) { var subId = subDiv.find("li[class='choose']").attr("subId"); } if (subShow != null) { parentDiv.find("[name='groupChoosed']").find(".content").html(c1 + ", " + c2); } else { parentDiv.find("[name='groupChoosed']").find(".content").html(c1); } parentDiv.find("[name='groupChoosed']").attr("mainChoose", mainId); if (subShow != null) { parentDiv.find("[name='groupChoosed']").attr("subChoose", subId); } // 更新价格 var st = jQuery("#groupStandard_"+mainId+"_"+subId); var discountPrice = st.attr("discountPrice"); if (parseFloat(discountPrice) > 0) { parentDiv.find("#gprice").html(discountPrice); } parentDiv.find("[id^='add_pro_tit_']").hide(); parentDiv.find("#groupProd").attr("checked","checked"); parentDiv.find("[name='groupChoosed']").show(); calGroupPrice(); }); // Cancel按钮单击 parentDiv.find("input[value='Cancel']").click(function(){ parentDiv.find("[id^='add_pro_tit_']").hide(); }); // 单击选中项修改选择 parentDiv.find("[name='groupChoosed']").click(function(){ jQuery("*[id^='add_pro_tit_']").hide(); var mainChoose = parentDiv.find("[name='groupChoosed']").attr("mainChoose"); var subChoose = parentDiv.find("[name='groupChoosed']").attr("subChoose"); parentDiv.find("li[class='choose']").removeClass("choose"); parentDiv.find("li[mainId='"+mainChoose+"']").addClass("choose"); if (subShow != null) { changeSubConfig(parentDiv.find("li[class='choose']")[0]); } parentDiv.find("li[subId='"+subChoose+"']").addClass("choose"); parentDiv.find("[id^='add_pro_tit_']").show(); showGroupConfigImage(mainChoose); }); // 更新图片显示 function changeGroupPhoto(o) { var productConfigId = jQuery(o).attr("mainId"); var photo = mainDiv.find("#photo_" + productConfigId); if (photo.length == 0) { // ajax读取首图地址并用div缓存 var url="/fashion/action/product.AjaxGetFirstConfigImage"; jQuery.getJSON(url, {productConfigId:productConfigId}, function(data) { mainDiv.append("
    "); if (data != null) { mainDiv.find("#photo_" + productConfigId).html(data.imageUrl); showGroupConfigImage(productConfigId); } }); } else { showGroupConfigImage(productConfigId); } } // 更换显示图片 function showGroupConfigImage(productConfigId) { var imgUrl = mainDiv.find("#photo_" + productConfigId).html(); if (imgUrl != "") { jQuery("#groupImg_" + prodId).attr("src",imgUrl); } } // 更新从属性显示 if (subShow != null) { function changeSubConfig(o) { var subIds = jQuery(o).attr("subId").split(","); var pId = jQuery(o).attr("prodId"); var mainId = jQuery(o).attr("mainId"); subDiv.find("li[prodId='"+pId+"']").each(function(){jQuery(this).hide()}); var stock = 0; for(i=0; i 0) { subDiv.find("[subId='"+subId+"']").show(); stock += substock; } } if (stock == 0) { parentDiv.find("#errInfo").html("Out of stock.");// 显示无库存 } } } } function selectGroupProd(o) { jQuery("*[id^='add_pro_tit_']").hide(); var parentDiv = jQuery(o).parents("#groupParent"); if (o.checked) { // 选中复选框 if (parentDiv.find("li").length==0) { calGroupPrice(); return true; } for(var i=0; i 0) { discount = discounts[discountIndex]; } var groupCount = 1; var groupDiscountPrice = parseFloat(jQuery("#currDiscountPrice").html()); var groupPrice = parseFloat(jQuery("#currPrice").html()); for (var i=0; i0) { mainConfigId = parentDiv.find("[name='groupChoosed']").attr("mainChoose"); mainTitle = parentDiv.find("ul[mainUl]").attr("name"); mainId = parentDiv.find("li#mainConfig[class='choose']").text(); } if (parentDiv.find("li#subConfig").length>0) { subConfigId = parentDiv.find("[name='groupChoosed']").attr("subChoose"); subTitle = parentDiv.find("ul[subUl]").attr("name"); subId = parentDiv.find("li#subConfig[class='choose']").text(); } if (mainConfigId != null || subConfigId != null) { mid = mainConfigId == null ? 0 : mainConfigId sid = subConfigId == null ? 0 : subConfigId standardId = jQuery("#groupStandard_" + mid + "_" + sid).attr("standardId"); } var price = parentDiv.find("#gprice").text(); var p = parentDiv.find("input[groupProd]"); param["productId"] = productId; param["mainConfigId"] = mainConfigId; param["mainId"] = mainId; param["mainTitle"] = mainTitle; param["subConfigId"] = subConfigId; param["standardId"] = standardId; param["subId"] = subId; param["subTitle"] = subTitle; param["quantity"] = p.attr("quantity"); param["sku"] = p.attr("sku"); param["price"] = price; param["productName"] = parentDiv.find("img").attr("title"); param["imageUrl"] = parentDiv.find("img").attr("src"); param["weight"] = p.attr("weight"); param["height"] = p.attr("height"); param["width"] = p.attr("width"); param["length"] = p.attr("length"); param["catId"] = p.attr("catId"); param["maxStockDays"] = p.attr("maxStockDays"); groups.push(param); } return groups; }