商品添加規格款式、需求就是、前臺點擊圖片顯示商品數量 、價錢、規格名稱、圖片等、我先上一張展示圖
講一下我們會遇到哪些問題:後臺有數據直接展示,可以添加和修改,也可以刪除,還有上傳圖片、(假設上傳兩個款式)怎麼確定這張圖片屬於哪一個的,先上一下代碼:
<form method="post" id="foms">
<div id="father" class="father">
<div >
<!--<li class="jiage_biaoge_cont">-->
<!--<img src="__PUBLIC__/business/images/1.jpg"/>-->
<!--<input type="text" name="" value="西柚味500g兩支裝" />-->
<!--<input type="text" name="" value="18" />-->
<!--<input type="text" name="" value="5200" />-->
<!--<input type='button' class='btnDel' value='X' onclick = "$(this).parent().remove();"/>-->
<!--</li>-->
</div>
<input type="hidden" class="pis" alt="add_pid" name="pid" value="">
</div>
</form>
每個商品都有款式、
上面說到商品id,那麼拿着我們的商品id,來請求後臺。如果有數據那麼就先展示出來
function color(ID){ //ID 是商品id,大家根據自己 的情況獲取
//查看該商品有什麼顏色
$.get("{:U('brand_color_json')}?ID="+ID ,function(dataObj){
$(".father div").html(null);
if(dataObj !=null){
$.each($(dataObj), function(i,obj){
var i= i+3;
var str='';
str+='<li class="jiage_biaoge_cont">';
str+='<img class="img'+i+'" src="'+ obj.E_Img1 +'"/>';
str+='<input type="file" onclick="uploadImg('+i+')" name="" id="photo'+i+'"/>';
str+='<input type="text" name="E_Color[E_Name][]" value="'+ obj.E_Name +'" />';
str+='<input type="text" name="E_Color[E_SellPrice][]" value="'+ obj.E_SellPrice +'" />';
str+='<input type="text" name="E_Color[E_Stock][]" value="'+ obj.E_Stock +'" />';
str+='<input type="button" class="btnDel" value="X" onclick = "$(this).parent().remove();"/>';
str+='<input type="hidden" name="E_Color[ID][]" value="'+ obj.ID +'" />';
str+='<input type="hidden" name="E_Color[E_Img1][]" value="'+ obj.E_Img1 +'" id="E_Img'+i+'"/>';
str+='</li>';
$(".father div").append(str); //我們追加到 上面的div中、
var i = i+1;
$("#add_Color").attr('val',i); //這裏是定位圖片,假設有三個圖片、那就定位到3、然後下面添加的時候直接從4開始
});
}
}, "json");
}
//現在開始說添加規格
//價格和款式
function add(){
var vId = parseInt($("#add_Color").attr('val'));
$(".father div").append('<li class="jiage_biaoge_cont">'
+'<img class="img'+vId+'" src="__PUBLIC__/business/images/register_file_bg.png"/>'
+'<input type="file" onclick="uploadImg('+vId+')" name="" id="photo'+vId+'" />'
+'<input type="text" name="E_Color[E_Name][]" value="" />'
+'<input type="text" name="E_Color[E_SellPrice][]" value="" />'
+'<input type="text" name="E_Color[E_Stock][]" value="" />'
+'<input type="button" class="btnDel" value="X" onclick = "$(this).parent().remove();"/>'
+'<input type="hidden" name="E_Color[ID][]" value="0" />'
+'<input name="E_Color[E_Img1][]" type="hidden" id="E_Img'+vId+'" value="" />'
+'</li>'
);
var val = vId+1;
$("#add_Color").attr('val',val);
}
//點擊添加的時候會自動追到後面 可以看下name的屬性 、當你點擊form表單
上傳圖片,上一篇有介紹 發下鏈接 http://blog.csdn.net/hua950327/article/details/77749569
//圖片上傳之後、前端問題處理完畢。開始提交到後臺
後臺接收
$info = $_POST; echo '<pre>'; print_r($info);exit;
打印:
對上面的數據處理:
貼代碼:
//添加規格 public function addSpec(){ $info = $_POST; echo '<pre>'; // print_r($_POST); // $arr = M('member')->field('ID,E_Name')->limit(2)->select(); $E_Color = $info['E_Color']; $this->AddBrandColor($info['pid'],$E_Color); $this->jsonReturn(1, "編輯成功", ''); } public function addBrandColor($E_ProID,$E_Color){ $E_ProID = intval($E_ProID); if(!$E_ProID) return false; if(!empty($E_Color)){ $count = count($E_Color['E_Name']); foreach($E_Color as $k=>$v){ for($i=0;$i<$count;$i++){ $listName[$i][$k] = $v[$i]; } } } print_r($listName);exit; //處理好的數據 if(!empty($listName)){ $p_color = M('product_color'); foreach($listName as $sKy=>$sKv){ $ID = intval($sKv['ID']); $eName = trim($sKv['E_Name']); if($ID){ //規格id ,如果有那麼就修改、沒有就添加 if(!empty($eName)){ //想刪除的話、我是以判斷名字是否爲空、 $sKv['E_UpdateDate'] = time(); $p_color->where(array('ID'=>$ID))->save($sKv); }else{ $p_color->where(array('ID'=>$ID))->delete(); } }else{ if(!empty($eName)){ $sKv['E_ProID'] = $E_ProID; $sKv['E_State'] = 1; $sKv['E_CreateDate'] = time(); $sKv['E_UpdateDate'] = time(); $p_color->add($sKv); } } } } return true; }
這樣就處理完了、有哪裏不明白可以給我留言,看到會及時回覆!