循环商品属性
来源:互联网 发布:java线程模型的理解 编辑:程序博客网 时间:2024/05/21 21:33
<script> //收集点击按钮 var collect =new Object(); $("#<?=$name?>").change(function(){ <?=$func_name?>(this); }); function getmodel(e){ mid = $('#mid option:selected').val(); $.post("<?=U('goods/model_get');?>", { 'mid': mid }, function(data){ if(data.success){ $("#table_spec").empty(); $("#property").empty(); var specarr = data.infor.spec;// 循环出规格 for(var j=0;j<specarr.length;j++){ var tagstr = "<tr>"; tagstr =tagstr+"<td style='width:50px;'>"+specarr[j].name+":</td>"; var child_val = specarr[j].children; tagstr=tagstr+"<td>"; for(var i=0;i<child_val.length;i++){ tagstr=tagstr+"<button class='btn_spec' name_name="+specarr[j].name+" name_id="+specarr[j].id+" var_id="+child_val[i].id+" type='button'>"+child_val[i].name+"</button><button type='button' class='icon Hui-iconfont spec_img'></button>"; } tagstr = tagstr+"</td></tr>"; $("#table_spec").append(tagstr);//添加规格选项 }// 将返回的属性添加进table $("#property").append(data.infor.property);//添加属性 } else{ layer.alert("操作失败,原因:"+data.msg,{icon:5}); }// John// 2pm }, "json"); } $("#spec").on('click','.btn_spec',function(){ if(!$(this).attr('tag')||0==$(this).attr('tag')){ $(this).attr('tag',1); $(this).css('background',"#789"); var name_id=$(this).attr('name_id'); if(collect[name_id]){ collect[name_id].push($(this)); }else{ var temp_arr = new Array(); temp_arr.push($(this)); collect[name_id]=temp_arr; } var ele_str = new Object(); ele_str['th'] = '<tr>'; ele_str['td']=new Array(); ele_str['tds']=''; ele_str['length']=Object.getOwnPropertyNames(collect).length; ele_str['count'] =0; ele_str['namestr'] =new Array(); ele_str['key']=Object.getOwnPropertyNames(collect); ele_str['idstr']=new Array();//库存字符串 for_item(collect,ele_str); for(var i=0;i<ele_str.key.length;i++){ var t_arr = ele_str.key; var t = t_arr[i]; ele_str.th=ele_str.th+"<th>"+collect[t][0].attr('name_name')+"</th>"; } ele_str.th = ele_str.th+"<th>库存</th><th>单位</th><th>价格</th></tr>"; $("#g_spec").empty(); $("#g_spec").append(ele_str.th+ele_str.tds); }else{ $(this).attr('tag',0); $(this).css('background',"#e8e8e8"); var name_id=$(this).attr('name_id'); collect[name_id].splice($.inArray($(this),collect[name_id]),1); collect[name_id].concat(); if(collect[name_id].length==0){ delete collect[name_id]; } if(!$.isEmptyObject($(collect))){ $("#g_spec").empty();return; } var ele_str = new Object(); ele_str['th'] = '<tr>'; ele_str['td']=new Array(); ele_str['tds']=''; ele_str['key']=Object.getOwnPropertyNames(collect);//规格名id 数组 ele_str['length']=Object.getOwnPropertyNames(collect).length;//规格类型总数 颜色和大小 length=2 ele_str['count'] =0; //当前递归次数 ele_str['namestr'] =new Array();//规格项字符串 ele_str['idstr']=new Array();//库存字符串 for_item(collect,ele_str); for(var i=0;i<ele_str.key.length;i++){ var t_arr = ele_str.key; var t = t_arr[i]; ele_str.th=ele_str.th+"<th>"+collect[t][0].attr('name_name')+"</th>"; } ele_str.th = ele_str.th+"<th>库存</th><th>单位</th><th>价格</th></tr>"; $("#g_spec").empty(); $("#g_spec").append(ele_str.th+ele_str.tds); } }); var style_str = "style='border-radius:4px; border:1px solid #DBDBDB ;'";//input 标签样式 //循环出规格 function for_item (collect,ele_str){ var count = ele_str.count; var key = ele_str.key[count]; var ele_arr = collect[key]; ele_str.count=ele_str.count+1; for(var j=0;j<ele_arr.length;j++){ // 如果递归的层数 ==递归总层数 if(ele_str.count==ele_str.length) {// 链接规格名 var name= ele_arr[j].html(); ele_str.namestr.push(name); var namestr = ele_str.namestr.join();// 链接每行显示规格名 var td = "<td>" + ele_arr[j].html() + "</td>"; ele_str.td.push(td); td = ele_str.td.join(); td = td.replace(/,/g, '');// 链接规格id var varid = "[" + ele_arr[j].attr('var_id') + "]"; ele_str.idstr.push(varid); var idstr = ele_str.idstr.join(); var str = idstr.replace(/,/g, ''); var idstr = idstr.replace(/]|\[/g, '');// 连接一行规格 ele_str.tds = ele_str.tds + td + "<td><input type='hidden' name='val"+str+"[namestr]' value="+namestr+"><input type='hidden' name='val"+str+"[idstr]' value="+idstr+"><input type='hidden' name='val"+str+"[namestr]' value="+namestr+"><input type='text' name='val"+str+"[stock]' "+style_str+"></td><td><input name='val"+str+"[sku]' "+style_str+" type='text'></td><td><input name='val"+str+"[price]' "+style_str+" type='text'></td></tr>";// 返回上层 ele_str.td.pop(); ele_str.idstr.pop(); ele_str.namestr.pop(); } else{// 继续递归 var name = ele_arr[j].html(); ele_str.namestr.push(name); var varid= "["+ele_arr[j].attr('var_id')+"]"; ele_str.idstr.push(varid); var td = "<td>"+ele_arr[j].html()+"</td>"; ele_str.td.push(td); for_item(collect,ele_str); } } ele_str.td.pop(); ele_str.idstr.pop(); ele_str.namestr.pop(); ele_str.count = ele_str.count - 1; return; } </script>
0 0
- 循环商品属性
- 商品分类 商品类型 商品属性
- ecshop_增加商品属性
- ecshop 商品属性
- 商品属性设计
- 关于商品属性设计
- 淘宝商品属性设计
- 商品属性存储假设
- 商品属性表设计
- 商品添加-选择商品类型自动加载商品属性
- ecshop订单打印无法显示商品属性,前台商品属性
- 商品系统设计(三):商品属性设计之固定属性
- 商品系统设计(四):商品属性设计之自定义属性
- ecshop_购物车商品属性
- 商品扩展属性一个参考
- ECSHOP去除商品重复属性
- ajax 实现商品属性表单
- 商城数据库设计--商品属性
- HashMap和TreeMap详解
- oracle PROCEDURE
- AndroidStudio 配置SVN以及设置必要的忽略文件
- 底部导航Bottom navigation的简单使用
- java多线程
- 循环商品属性
- Oracle建立表空间和用户
- 【API设计风格—RESTful】:什么是RESTful(一)
- mac键盘符号含义
- cookie 和session 的区别
- web:supervisor 安装
- python,java使用163邮箱发邮件
- android 获取设备屏幕尺寸
- 阿里巴巴分布式数据库服务DRDS研发历程