// 模拟数据 var data = { "data": { "area": { "安徽": [], "福建": ['福州市', '莆田市'], "广东": [], }, "buyset": { "areacount": 1, "buyerclasscount": 3, "citys": { "贵州": 2, "广东": 2, "广西": 2, "福建": 1, } }, "industry": [ "安监", // "保监" ], "isTrial": false }, "errMsg": "", "success": true } var buyCount = data.data.buyset.buyerclasscount;//已购买的行业数量 -1是全部行业,正数为购买的行业数量 var array = data.data.industry;//已选择的行业(数组) var result = [];//声明一个空数组为选择结果 // 初始化行业数据,渲染到页面 function initData() { buyCount = data.data.buyset.buyerclasscount;//已购买的行业数量 -1是全部行业,正数为购买的行业数量 array = data.data.industry;//已选择的行业(数组) /* 已购买过的行业 */ if (buyCount == -1) { $('.result_name').html('全部行业') } else { $('.result_name').html(buyCount + '个行业') } /* 已选择的行业 数组为空时即选择的全部行业 不为空时对应选择的结果 */ if (array.length == 0) { $('.result_count').html('全部行业'); $('.industry_item.whole').addClass('active') } else { $('.result_count').html(array.length + '个行业'); $('.industry_item:not(.whole)').each(function () { var text = $(this).text().trim() for (var i = 0; i < array.length; i++) { var element = array[i]; if (element == text) { $(this).addClass('active') } } }) } } // 实时改变选择结果 function resultCount() { $('.result_count').empty(); var count = $('.list').find('.industry_item.active:not(.whole)').length; if ($('.industry_item.whole').hasClass('active')) { $('.result_count').html('全部行业'); result = []; if (buyCount != -1) { $('.update_tips').show(); } else { $('.update_tips').hide(); } } else { var buttons = $('.select-area-box .list button:not(.whole)'); var canChangeArr = []; buttons.each(function () { if ($(this).hasClass('active')) { canChangeArr.push($(this).text()) } }) if (count > buyCount) { $('.update_tips').show(); } else { $('.update_tips').hide(); } $('.result_count').html(count + '个行业'); if ($('.list').find('.industry_item.active:not(.whole)').length === 0) { $('.save-btn').prop('disabled', true) } else { $('.save-btn').prop('disabled', false) } result = canChangeArr; } } $(function () { // 公共资源交易介绍提示框 $('#showTips').click(function (e) { e.stopPropagation(); $('.tips_detail').slideToggle() }); // 点击导航跳转 $("body").on('click', '.slide a', function () { var s = $(this).html() if (s == '#') { return; } document.querySelector('#' + s).scrollIntoView({ block: 'center' }); }) // 选择全部行业 $('.industry_item.whole').on('click', function () { $(this).addClass('active').parents('.list').find('.industry_item:not(.whole)').removeClass('active'); resultCount(); }) // 选择非全部行业 $('.industry_item:not(.whole)').on('click', function () { $('.industry_item.whole').removeClass('active'); $(this).toggleClass('active'); resultCount(); }) // 重置按钮事件 $('.reset-btn').on('click', function () { $('.list').find('.industry_item').removeClass('active'); $('.update_tips').hide(); initData(); }) // 确认按钮事件 $('.save-btn').on('click', function () { data.data.industry = result sessionStorage.setItem('sub_vip_state', JSON.stringify(data.data)) history.back() }) function getDataWitXHR() { $DoPost('/subscribepay/vipsubscribe/getSubBuyMsg', {}, function (res) { if (!res.success) return data.data = res.data sessionStorage.setItem('sub_vip_state', JSON.stringify(res.data)) initData(); }) } var subVipState = sessionStorage.getItem('sub_vip_state') if (subVipState) { data.data = JSON.parse(subVipState) initData(); } else { getDataWitXHR() } })