fastadmin 商品多规格 复制即可使用 js html

js 文件 部分

//添加规格
			$('#addskus').on('click', function () {
				var name = $('#space_name').val();
				if (name == '') {
					layer.msg('规格名称不能为做空');
					return false;
				} else {
					var object = new Object();
					object.title = name;
					object.values = [];
					var spacenamelist = $('#spacenamelist').val();
					if (spacenamelist == '') {
						//首次添加
						spacenamelist = new Array();
						spacenamelist.push(object);
						spacenamelist = JSON.stringify(spacenamelist);
					} else {
						spacenamelist = JSON.parse(spacenamelist);
						for (var i = 0; i < spacenamelist.length; i++) {
							if (spacenamelist[i].title == name) {
								layer.msg('此规格已存在');
								return false;
							}
						}
						spacenamelist.push(object);
						spacenamelist = JSON.stringify(spacenamelist);
					}
					$('#spacenamelist').val(spacenamelist);
					console.log($('#spacenamelist').val());
				}
				var space_list = '<div class="form-group skuMain">' +
					'<label class="control-label col-xs-12 col-sm-2">' + name + ':</label>' +
					' <div class="col-xs-4 col-sm-4"><input type="text" maxlength="22" placeholder="请输入子规格名称"  class="form-control"></div> ' +
					'<div class="col-xs-4 col-sm-4"><span class="btn btn-primary">添加</span> <span class="btn btn-danger" >移除</span></div> ' +
					'<div class="col-xs-8 col-sm-8 col-xs-offset-2 col-sm-offset-2 skuChildrenBox"></div>' +
					'</div>';
				$('#space').append(space_list);
				$('#space_name').val('');
				//删除skus_value skus_title
				$('#skus_value').html('');
				$('#skus_title').html('');
			});
			
			//移除规格
			$('#space').on('click', '.btn-danger', function (e) {
				//获取规格名称
				var text = $($(this).parent().parent().children()[0]).text();
				text = text.substring(0, text.length - 1)
				//删除规格值
				var spacenamelist = $('#spacenamelist').val();
				spacenamelist = JSON.parse(spacenamelist);
				for (var i = 0; i < spacenamelist.length; i++) {
					if (spacenamelist[i]['title'] == text) {
						spacenamelist.splice(i, 1);
					}
				}
				$('#spacenamelist').val(JSON.stringify(spacenamelist));
				$(this).parent().parent().remove();
				//删除skus_value skus_title
				$('#skus_value').html('');
				$('#skus_title').html('');
			});
			//添加规格值
			$('#space').on('click', '.btn-primary', function (e) {
				var value = $(this).parent().prev().children()[0].value;
				if (value == '') {
					layer.msg('规格值不能为做空');
					return false;
				}
				//获取规格名称
				var text = $($(this).parent().parent().children()[0]).text();
				text = text.substring(0, text.length - 1)
				//获取规格值
				var spacenamelist = $('#spacenamelist').val();
				spacenamelist = JSON.parse(spacenamelist);
				for (var i = 0; i < spacenamelist.length; i++) {
					if (spacenamelist[i]['title'] == text) {
						if ($.inArray(value, spacenamelist[i]['values']) >= 0) {
							layer.msg('此规格值已存在');
							return false;
						}
						spacenamelist[i]['values'].push(value);
					}
				}
				$('#spacenamelist').val(JSON.stringify(spacenamelist));
				console.log(spacenamelist)
				var space_valeu_lsit = '<div class="skuChildren"><span>' + value + '</span> <i class="fa fa-close skuChildren-close"></i></div>';
				$(this).parent().next().append(space_valeu_lsit);
				$($(this).parent().prev().children()[0]).val('');
				//删除skus_value skus_title
				$('#skus_value').html('');
				$('#skus_title').html('');
			});
			//移除规格值
			$('#space').on('click', '.fa-close', function (e) {
				//获取规格值
				var value = $(this).prev().text();
				//获取规格名称
				var text = $(this).parent().parent().prev().prev().prev().text();
				text = text.substring(0, text.length - 1)
				//获取规格值
				var spacenamelist = $('#spacenamelist').val();
				spacenamelist = JSON.parse(spacenamelist);
				//删除规格值
				for (var i = 0; i < spacenamelist.length; i++) {
					if (spacenamelist[i]['title'] == text) {
						console.log(spacenamelist[i]['values'])
						spacenamelist[i]['values'].splice($.inArray(value, spacenamelist[i]['values']), 1);
					}
				}
				$('#spacenamelist').val(JSON.stringify(spacenamelist));
				$(this).parent().remove();
				//删除skus_value skus_title
				$('#skus_value').html('');
				$('#skus_title').html('');
			});
			//生成商品规格
			$('#create_skus').on('click', function () {
				
				var spacenamelist = $('#spacenamelist').val();
				spacenamelist = JSON.parse(spacenamelist);
				if (spacenamelist == '') {
					layer.msg('请先生成规格');
					return false;
				}
				for (var i = 0; i < spacenamelist.length; i++) {
					if (spacenamelist[i].values.length == 0) {
						layer.msg(spacenamelist[i].title + '规格值为空');
						return false;
					}
				}
				//生成SKUS名称
				var item = '<tr>';
				for (var i = 0; i < spacenamelist.length; i++) {
					item += '<th>' + spacenamelist[i]['title'] + '</th>';
				}
				item += ' <th width="80"><span data-toggle="tooltip" data-placement="bottom" title="批量设置" class="tooltip-toggle">现价<i class="fa fa-indent i-color"></i></span></th>\n' +
					'                                                <th width="80"><span data-toggle="tooltip" data-placement="bottom" title="批量设置" class="tooltip-toggle">库存<i class="fa fa-indent i-color"></i></span></th>\n' +
					'                                                <th width="80"><span data-toggle="tooltip" data-placement="bottom" title="批量设置" class="tooltip-toggle">重量<i class="fa fa-indent i-color"></i></span></th>\n' +
					'                                                <th width="80"><span data-toggle="tooltip" data-placement="bottom" title="批量设置" class="tooltip-toggle">编码<i class="fa fa-indent i-color"></i></span></th>\n' +
					'                                                <th width="80">图片</th>\n' +
					'                                                <th width="80">当前状态</th></tr>';
				$('#skus_title').html(item);
				//生成规格值
				var temp = [];
				for (var i = 0; i < spacenamelist.length; i++) {
					var temp_p = [];
					for (var v = 0; v < spacenamelist[i].values.length; v++) {
						if (temp.length == 0) {
							temp_p.push(spacenamelist[i].values[v]);
						} else {
							for (var t = 0; t < temp.length; t++) {
								temp_p.push(temp[t] + ',' + spacenamelist[i].values[v]);
							}
						}
					}
					temp = temp_p;
				}
				console.log(temp);
				
				var string = '<tr>';
				temp.map(function (item) {
					var data = item.split(",");
					data.map(function (key) {
						string += '<td>' + key + '</td>'
					})
					string += '' +
						'<td width="80"><input type="number" class="input-sm form-control"></td>\n' +
						'                                                <td width="80"><input type="number" class="input-sm form-control"></td>\n' +
						'                                                <td width="80"><input type="number" class="input-sm form-control"></td>\n' +
						'                                                <td width="80"><input type="text" class="input-sm form-control"></td>\n' +
						'                                                <td width="80">上传图片</td>\n' +
						'                                                <td width="80"><span class="input-sm form-control status">上架</span></td>\n' +
						'                                            </tr>'
				})
				$('#skus_value').html(string);
				$('#skus_title').parent().parent().parent().addClass('show');
			});

html 部分

<div class="widget-body no-padding">
                            <div class="form-group">
                                <legend>规格价格<span class="legend-tip">(请完善主规格子规格,然后点击生成表单填写价格库存)</span></legend>
                            </div>
                            <div class="form-group">
                                <input type="text" name="skus" id ='spacenamelist' size="500">
                                <label class="control-label col-xs-12 col-sm-2">添加主规格:</label>
                                <div class="col-xs-4 col-sm-4"><input type="text" placeholder="请输入主规格名称" maxlength="5" class="form-control" id="space_name"></div>
                                <div class="col-xs-4 col-sm-4"><span class="btn btn-primary" id='addskus'>确认</span>&nbsp;<span class="btn btn-info" id='create_skus'>生成规格</span></div>
                            </div>
                            <div id='space'>
                            </div>
                            <div>
                                <div class="row" >
                                    <div class="col-md-12">
                                        <table class="table">
                                            <thead id="skus_title"></thead>
                                            <tbody id="skus_value"></tbody>
                                        </table>
                                    </div>
                                </div>
                            </div>
                        </div>
<style type="text/css">
    /*头部样式*/
    .legend-tip {
        color: #f00;
        font-size: 14px;
        margin-left: 5px;
    }

    /*规格样式*/
    .skuChildren {
        margin-right: 10px;
        margin-top: 10px;
        padding: 0 5px;
        height: 24px;
        line-height: 24px;
        color: rgba(80, 80, 80, 1);
        border-radius: 2px;
        font-size: 12px;
        text-align: center;
        border: 1px solid rgba(231, 231, 231, 1);
        position: relative;
    }

    /*规格值*/
    .skuChildrenBox {
        display: flex;
        padding: 0 15px;
        flex-wrap: wrap;
    }

    /*规格小叉号*/
    .skuChildren-close {
        position: absolute;
        background: rgba(212, 48, 48, 1);
        color: #fff;
        border-radius: 50%;
        width: 12px;
        height: 12px;
        top: -6px;
        right: -6px;
        font-style: 12px;
        -webkit-transform: scale(0.8);
    }
</style>
  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 16
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值