淘宝sku的组合

<!DOCTYPE html> 
<html> 
<head> 
     <meta name= "viewport" content= "width=device-width" /> 
     <script src= "Scripts/jquery-1.8.2.min.js" ></script> 
     <title></title> 
     <script> 
         $( function () { 
             //SKU信息 
             $( ".div_contentlist label" ).bind( "change" , function () { 
                 step.Creat_Table(); 
             }); 
             var step = { 
                 //SKU信息组合 
                 Creat_Table: function () { 
                     step.hebingFunction(); 
                     var SKUObj = $( ".Father_Title" ); 
                     //var skuCount = SKUObj.length;// 
                     var arrayTile = new Array();  //标题组数 
                     var arrayInfor = new Array();  //盛放每组选中的CheckBox值的对象  
                     var arrayColumn = new Array(); //指定列,用来合并哪些列 
                     var bCheck = true ; //是否全选 
                     var columnIndex = 0; 
                     $.each(SKUObj, function (i, item) { 
                         arrayColumn.push(columnIndex); 
                         columnIndex++; 
   
                         arrayTile.push(SKUObj.find( "li" ).eq(i).html().replace( ":" , "" )); 
                         var itemName = "Father_Item" + i; 
                         //选中的CHeckBox取值 
                         var order = new Array(); 
                         $( "." + itemName + " input[type=checkbox]:checked" ).each( function () { 
                             order.push($( this ).val()); 
                         }); 
                         arrayInfor.push(order); 
   
                         if (order.join() == "" ) { 
                             bCheck = false
                        
                         //var skuValue = SKUObj.find("li").eq(index).html(); 
                     }); 
   
                     //开始创建Table表             
                     if (bCheck == true ) { 
                         var RowsCount = 0; 
                         $( "#createTable" ).html( "" ); 
                         var table = $( "<table id=\"process\" border=\"1\" cellpadding=\"1\" cellspacing=\"0\" style=\"width:100%;padding:5px;\"></table>" ); 
                         table.appendTo($( "#createTable" )); 
                         var thead = $( "<thead></thead>" ); 
                         thead.appendTo(table); 
                         var trHead = $( "<tr></tr>" ); 
                         trHead.appendTo(thead); 
                         //创建表头 
                         $.each(arrayTile, function (index, item) { 
                             var td = $( "<td>" + item + "</td>" ); 
                             td.appendTo(trHead); 
                         }); 
                         var itemColumHead = $( "<td  style=\"width:70px;\">价格</td><td style=\"width:70px;\">数量</td> " ); 
                         itemColumHead.appendTo(trHead); 
                         //var itemColumHead2 = $("<td >商家编码</td><td >商品条形码</td>"); 
                         //itemColumHead2.appendTo(trHead); 
   
                         var tbody = $( "<tbody></tbody>" ); 
                         tbody.appendTo(table); 
   
                         生成组合 
                         var zuheDate = step.doExchange(arrayInfor); 
                         if (zuheDate.length > 0) { 
                             //创建行 
                             $.each(zuheDate, function (index, item) { 
                                 var td_array = item.split( "," ); 
                                 var tr = $( "<tr></tr>" ); 
                                 tr.appendTo(tbody); 
                                 $.each(td_array, function (i, values) { 
                                     var td = $( "<td>" + values + "</td>" ); 
                                     td.appendTo(tr); 
                                 }); 
                                 var td1 = $( "<td ><input name=\"Txt_PriceSon\" class=\"l-text\" type=\"text\" value=\"\"></td>" ); 
                                 td1.appendTo(tr); 
                                 var td2 = $( "<td ><input name=\"Txt_CountSon\" class=\"l-text\" type=\"text\" value=\"\"></td>" ); 
                                 td2.appendTo(tr); 
                                 //var td3 = $("<td ><input name=\"Txt_NumberSon\" class=\"l-text\" type=\"text\" value=\"\"></td>"); 
                                 //td3.appendTo(tr); 
                                 //var td4 = $("<td ><input name=\"Txt_SnSon\" class=\"l-text\" type=\"text\" value=\"\"></td>"); 
                                 //td4.appendTo(tr); 
                             }); 
                        
                         //结束创建Table表 
                         arrayColumn.pop(); //删除数组中最后一项 
                         //合并单元格 
                         $(table).mergeCell({ 
                             // 目前只有cols这么一个配置项, 用数组表示列的索引,从0开始 
                             cols: arrayColumn 
                         }); 
                    
                 }, //合并行 
                 hebingFunction: function () { 
                     $.fn.mergeCell = function (options) { 
                         return this .each( function () { 
                             var cols = options.cols; 
                             for ( var i = cols.length - 1; cols[i] != undefined; i--) { 
                                 // fixbug console调试  
                                 // console.debug(cols[i]);  
                                 mergeCell($( this ), cols[i]); 
                            
                             dispose($( this )); 
                         }); 
                     }; 
                     // 如果对javascript的closure和scope概念比较清楚, 这是个插件内部使用的private方法             
                     function mergeCell($table, colIndex) { 
                         $table.data( 'col-content' , '' ); // 存放单元格内容  
                         $table.data( 'col-rowspan' , 1); // 存放计算的rowspan值 默认为1  
                         $table.data( 'col-td' , $()); // 存放发现的第一个与前一行比较结果不同td(jQuery封装过的), 默认一个"空"的jquery对象  
                         $table.data( 'trNum' , $( 'tbody tr' , $table).length); // 要处理表格的总行数, 用于最后一行做特殊处理时进行判断之用  
                         // 我们对每一行数据进行"扫面"处理 关键是定位col-td, 和其对应的rowspan  
                         $( 'tbody tr' , $table).each( function (index) { 
                             // td:eq中的colIndex即列索引  
                             var $td = $( 'td:eq(' + colIndex + ')' , this ); 
                             // 取出单元格的当前内容  
                             var currentContent = $td.html(); 
                             // 第一次时走此分支  
                             if ($table.data( 'col-content' ) == '' ) { 
                                 $table.data( 'col-content' , currentContent); 
                                 $table.data( 'col-td' , $td); 
                             } else
                                 // 上一行与当前行内容相同  
                                 if ($table.data( 'col-content' ) == currentContent) { 
                                     // 上一行与当前行内容相同则col-rowspan累加, 保存新值  
                                     var rowspan = $table.data( 'col-rowspan' ) + 1; 
                                     $table.data( 'col-rowspan' , rowspan); 
                                     // 值得注意的是 如果用了$td.remove()就会对其他列的处理造成影响  
                                     $td.hide(); 
                                     // 最后一行的情况比较特殊一点  
                                     // 比如最后2行 td中的内容是一样的, 那么到最后一行就应该把此时的col-td里保存的td设置rowspan  
                                     if (++index == $table.data( 'trNum' )) 
                                         $table.data( 'col-td' ).attr( 'rowspan' , $table.data( 'col-rowspan' )); 
                                 } else { // 上一行与当前行内容不同  
                                     // col-rowspan默认为1, 如果统计出的col-rowspan没有变化, 不处理  
                                     if ($table.data( 'col-rowspan' ) != 1) { 
                                         $table.data( 'col-td' ).attr( 'rowspan' , $table.data( 'col-rowspan' )); 
                                    
                                     // 保存第一次出现不同内容的td, 和其内容, 重置col-rowspan  
                                     $table.data( 'col-td' , $td); 
                                     $table.data( 'col-content' , $td.html()); 
                                     $table.data( 'col-rowspan' , 1); 
                                
                            
                         }); 
                    
                     // 同样是个private函数 清理内存之用  
                     function dispose($table) { 
                         $table.removeData(); 
                    
                 }, 
                 //组合数组 
                 doExchange: function (doubleArrays) { 
                     var len = doubleArrays.length; 
                     if (len >= 2) { 
                         var arr1 = doubleArrays[0]; 
                         var arr2 = doubleArrays[1]; 
                         var len1 = doubleArrays[0].length; 
                         var len2 = doubleArrays[1].length; 
                         var newlen = len1 * len2; 
                         var temp = new Array(newlen); 
                         var index = 0; 
                         for ( var i = 0; i < len1; i++) { 
                             for ( var j = 0; j < len2; j++) { 
                                 temp[index] = arr1[i] + "," + arr2[j]; 
                                 index++; 
                            
                        
                         var newArray = new Array(len - 1); 
                         newArray[0] = temp; 
                         if (len > 2) { 
                             var _count = 1; 
                             for ( var i = 2; i < len; i++) { 
                                 newArray[_count] = doubleArrays[i]; 
                                 _count++; 
                            
                        
                         //console.log(newArray); 
                         return step.doExchange(newArray); 
                    
                     else
                         return doubleArrays[0]; 
                    
                
            
             return step; 
         }) 
     </script> 
   
     <style type= "text/css"
         form { 
             margin: 0; 
        
   
         textarea { 
             display: block; 
        
     </style> 
   
     <style> 
         .chcBox_Width { 
             width: 18px; 
        
   
         .li_width { 
             width: 110px; 
        
   
         .guige_ul { 
             padding-left: 20px; 
             background-color: #F8F8F8; 
        
   
         .table_head { 
             line-height: 23px; 
             margin-left: 20px; 
             border-color: #D7D7D7; 
        
     </style> 
     <link href= "Content/css/addProduct.css" rel= "stylesheet" /> 
</head> 
<body style= "padding: 10px"
     <div id= "navtab1" style= "width: 100%; border: 1px solid #A3C0E8;"
         <div title= "扩展信息" tabid= "tabItem3"
             <div id= "Div1"
                 <div position= "center"
                     <div style= "padding: 5px 8px;" class = "div_content"
                         <div class = "div_title"
                             <span class = "infor_title" > </span>产品规格      
                             <div> 
                                 <hr /> 
                             </div> 
                         </div> 
   
                         <div class = "div_contentlist"
                             <ul class = "Father_Title"
                                 <li>颜色分类:</li> 
                             </ul> 
                             <ul class = "Father_Item0" style= "padding-left: 20px; background-color: #F8F8F8;"
                                 <li class = "li_width1"
                                     <label> 
                                         <input id= "Checkbox3" type= "checkbox" class = "chcBox_Width" value= "军绿色" />军绿色<span class = "li_empty" > </span></label></li> 
                                 <li class = "li_width"
                                     <label> 
                                         <input id= "Checkbox1" type= "checkbox" class = "chcBox_Width" value= "花色" />花色<span class = "li_empty" > </span></label></li> 
                                 <li class = "li_width"
                                     <label> 
                                         <input id= "Checkbox2" type= "checkbox" class = "chcBox_Width" value= "蓝色" />蓝色<span class = "li_empty" > </span></label></li> 
                                 <li class = "li_width"
                                     <label> 
                                         <input id= "Checkbox4" type= "checkbox" class = "chcBox_Width" value= "褐色" />褐色<span class = "li_empty" > </span></label></li> 
                                 <li class = "li_width"
                                     <label> 
                                         <input id= "Checkbox5" type= "checkbox" class = "chcBox_Width" value= "黄色" />黄色<span class = "li_empty" > </span></label></li> 
                                 <li class = "li_width"
                                     <label> 
                                         <input id= "Checkbox6" type= "checkbox" class = "chcBox_Width" value= "黑色" />黑色<span class = "li_empty" > </span></label></li> 
   
                             </ul> 
                             <ul class = "Father_Title"
                                 <li>尺寸:</li> 
                             </ul> 
                             <ul class = "Father_Item1" style= "padding-left: 20px; background-color: #F8F8F8;"
   
                                 <li class = "li_width"
                                     <label> 
                                         <input id= "Checkbox7" type= "checkbox" class = "chcBox_Width" value= "41" />41<span class = "li_empty" > </span></label></li> 
                                 <li class = "li_width"
                                     <label> 
                                         <input id= "Checkbox8" type= "checkbox" class = "chcBox_Width" value= "42" />42<span class = "li_empty" > </span></label></li> 
                                 <li class = "li_width"
                                     <label> 
                                         <input id= "Checkbox9" type= "checkbox" class = "chcBox_Width" value= "43" />43<span class = "li_empty" > </span></label></li> 
   
   
                             </ul> 
                             <ul class = "Father_Title"
                                 <li>类型:</li> 
                             </ul> 
                             <ul class = "Father_Item2" style= "padding-left: 20px; background-color: #F8F8F8;"
                                 <li class = "li_width"
                                     <label> 
                                         <input id= "Checkbox10" type= "checkbox" class = "chcBox_Width" value= "港澳台" /><span class = "Color_Name" >港澳台</span><span class = "li_empty" > </span></label></li> 
                                 <li class = "li_width"
                                     <label> 
                                         <input id= "Checkbox11" type= "checkbox" class = "chcBox_Width" value= "韩国" />韩国<span class = "li_empty" > </span></label></li> 
                                 <li class = "li_width"
                                     <label> 
                                         <input id= "Checkbox12" type= "checkbox" class = "chcBox_Width" value= "亚太" />亚太<span class = "li_empty" > </span></label></li> 
                             </ul> 
   
                         </div> 
                         <div class = "div_contentlist2"
                             <ul> 
                                 <li> 
                                     <div id= "createTable"
                                     </div> 
                                 </li> 
                             </ul> 
                             <ul> 
                                 <li> 
                                     <input type= "button" id= "Button1" class = "l-button" value= "提交" /> 
                                 </li> 
                             </ul> 
                         </div> 
                     </div> 
                 </div> 
             </div> 
         </div> 
     </div> 
</body> 
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值