167 lines
6.8 KiB
HTML
167 lines
6.8 KiB
HTML
<table class="table table-bordered" id="goods_spec_table1">
|
||
<tr>
|
||
<td colspan="2"><b>商品规格:</b></td>
|
||
</tr>
|
||
<foreach name="specList" item="vo" key="k" >
|
||
<tr>
|
||
<td>{$vo[name]}:</td>
|
||
<td>
|
||
<foreach name="vo[spec_item]" item="vo2" key="k2" >
|
||
<button type="button" data-spec_id='{$vo[id]}' data-item_id='{$k2}' class="btn <?php
|
||
if(in_array($k2,$items_ids))
|
||
echo 'btn-success';
|
||
else
|
||
echo 'btn-default';
|
||
?>" >
|
||
{$vo2}
|
||
</button>
|
||
<span data-img_id="{$k2}">
|
||
<if condition="$vo['is_upload_image'] eq 1">
|
||
<img width="35" height="35" src="{$specImageList[$k2]|default='/public/images/add-button.jpg'}" id="item_img_{$k2}" onclick="GetUploadify3('{$k2}');"/>
|
||
<input type="hidden" name="item_img[{$k2}]" value="{$specImageList[$k2]}" />
|
||
<if condition="$specImageList[$k2]">
|
||
<span class="" onclick="deleteItemImage('{$k2}');">×</span>
|
||
</if>
|
||
</if>
|
||
</span>
|
||
</foreach>
|
||
</td>
|
||
</tr>
|
||
</foreach>
|
||
</table>
|
||
<div id="goods_spec_table2"> <!--ajax 返回 规格对应的库存--> </div>
|
||
|
||
<script>
|
||
function deleteItemImage(cur_item_id) {
|
||
var html = " <img width=\"35\" height=\"35\" src=\"/public/images/add-button.jpg\" id=\"item_img_"+cur_item_id+"\" onclick=\"GetUploadify3('"+cur_item_id+"');\"/>\n" +
|
||
" <input type=\"hidden\" name=\"item_img["+cur_item_id+"]\" value=\"{$specImageList["+cur_item_id+"]}\" />";
|
||
$("span[data-img_id="+cur_item_id+"]").html(html)
|
||
}
|
||
// 上传规格图片
|
||
function GetUploadify3(k){
|
||
cur_item_id = k; //当前规格图片id 声明成全局 供后面回调函数调用
|
||
GetUploadify(1,'','goods','call_back3');
|
||
}
|
||
|
||
|
||
// 上传规格图片成功回调函数
|
||
function call_back3(fileurl_tmp){
|
||
$("#item_img_"+cur_item_id).attr('src',fileurl_tmp); // 修改图片的路径
|
||
$("input[name='item_img["+cur_item_id+"]']").val(fileurl_tmp); // 输入框保存一下 方便提交
|
||
var html = "<img width=\"35\" height=\"35\" src=\""+fileurl_tmp+"\" id=\"item_img_"+cur_item_id+"\" onclick=\"GetUploadify3('"+cur_item_id+"');\"/>\n" +
|
||
"\n" +
|
||
" <span class=\"\" onclick=\"deleteItemImage('"+cur_item_id+"');\"\">×</span>\n" +
|
||
"\n" +
|
||
" <input type=\"hidden\" name=\"item_img["+cur_item_id+"]\" value=\""+fileurl_tmp+"\" />";
|
||
$("span[data-img_id="+cur_item_id+"]").html(html)
|
||
}
|
||
|
||
// 规格按钮切换 class
|
||
$("#ajax_spec_data button").click(function(){
|
||
if($(this).hasClass('btn-success'))
|
||
{
|
||
$(this).removeClass('btn-success');
|
||
$(this).addClass('btn-default');
|
||
}else{
|
||
$(this).removeClass('btn-default');
|
||
$(this).addClass('btn-success');
|
||
}
|
||
ajaxGetSpecInput();
|
||
});
|
||
|
||
|
||
/**
|
||
* 点击商品规格触发下面输入框显示
|
||
*/
|
||
function ajaxGetSpecInput()
|
||
{
|
||
// var spec_arr = {1:[1,2]};// 用户选择的规格数组
|
||
// spec_arr[2] = [3,4];
|
||
var spec_arr = {};// 用户选择的规格数组
|
||
// 选中了哪些属性
|
||
$("#goods_spec_table1 button").each(function(){
|
||
if($(this).hasClass('btn-success'))
|
||
{
|
||
var spec_id = $(this).data('spec_id');
|
||
var item_id = $(this).data('item_id');
|
||
if(!spec_arr.hasOwnProperty(spec_id))
|
||
spec_arr[spec_id] = [];
|
||
spec_arr[spec_id].push(item_id);
|
||
//console.log(spec_arr);
|
||
}
|
||
});
|
||
ajaxGetSpecInput2(spec_arr); // 显示下面的输入框
|
||
|
||
}
|
||
|
||
$(function () {
|
||
$(document).on("click", '.delete_item', function (e) {
|
||
if($(this).text() == '无效'){
|
||
$(this).parent().parent().find('input').attr('disabled','disabled');
|
||
$(this).text('有效');
|
||
}else{
|
||
$(this).text('无效');
|
||
$(this).parent().parent().find('input').removeAttr('disabled');
|
||
}
|
||
})
|
||
})
|
||
|
||
/**
|
||
* 根据用户选择的不同规格选项
|
||
* 返回 不同的输入框选项
|
||
*/
|
||
function ajaxGetSpecInput2(spec_arr) {
|
||
|
||
var goods_id = $("input[name='goods_id']").val();
|
||
$.ajax({
|
||
type: 'POST',
|
||
data: {spec_arr: spec_arr, goods_id: goods_id},
|
||
url: "/index.php/admin/Goods/ajaxGetSpecInput",
|
||
success: function (data) {
|
||
$("#goods_spec_table2").html('').append(data);
|
||
hbdyg(); // 合并单元格
|
||
$("#spec_input_tab").find('tr').each(function (index, item) {
|
||
var price = $(this).find("input[name$='[price]']").val();
|
||
var store_count = $(this).find("input[name$='[store_count]']").val();
|
||
if(store_count == 0 && price == 0){
|
||
$(this).find(".delete_item").trigger('click');
|
||
}
|
||
});
|
||
}
|
||
});
|
||
}
|
||
|
||
// 合并单元格
|
||
function hbdyg() {
|
||
var tab = document.getElementById("spec_input_tab"); //要合并的tableID
|
||
var maxCol = 2, val, count, start; //maxCol:合并单元格作用到多少列
|
||
if (tab != null) {
|
||
for (var col = maxCol - 1; col >= 0; col--) {
|
||
count = 1;
|
||
val = "";
|
||
for (var i = 0; i < tab.rows.length; i++) {
|
||
if (val == tab.rows[i].cells[col].innerHTML) {
|
||
count++;
|
||
} else {
|
||
if (count > 1) { //合并
|
||
start = i - count;
|
||
tab.rows[start].cells[col].rowSpan = count;
|
||
for (var j = start + 1; j < i; j++) {
|
||
tab.rows[j].cells[col].style.display = "none";
|
||
}
|
||
count = 1;
|
||
}
|
||
val = tab.rows[i].cells[col].innerHTML;
|
||
}
|
||
}
|
||
if (count > 1) { //合并,最后几行相同的情况下
|
||
start = i - count;
|
||
tab.rows[start].cells[col].rowSpan = count;
|
||
for (var j = start + 1; j < i; j++) {
|
||
tab.rows[j].cells[col].style.display = "none";
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
</script> |