1.谷粒商城
1.获取属性
1.分页
$(".page_a").click(function(){
var pn = $(this).attr("pn");
var href = location.href;
if(href.indexOf("pageNum")!=-1){
//替换pageNum的值
location.href=replaceParamVal(href,pageNum,pn);
}else{
location.href=location.href+"&pageNum="+pn;
}
return false;
})
//替换
function replaceParamVal(url,paramName,replaceVal){
val oUrl=url.toString();
var re=eval('/('+paramName+'=)([^&]*)/gi');
var nUrl=oUrl.replace(re,paramName+'='+replaceVal);
return nUrl;
}
2.排序
//排序
$(".sort_a").click(function(
//改变当前元素以及兄弟元素的样式
changeStyle(this);
//排序 sort=skuPrice_asc/desc
var sort = $(this).attr("sort");
sort = $(this).hasClass("desc")?sort+"_desc":sort+"_asc";
replaceAndAddParamVal(location.href,"sort",sort);
return false; //禁用默认行为,比如a标签跳转行为
)};
function changeStyle(ele){
//1、其他未选中状态,兄弟
$("sort_a").css({"color":"#333","border-color":"#CCC","background":"#FFF"}});
$(".sort_a").each(function(){ //去掉兄弟的箭头
var text = $(this).text().replace("↓","").replace("↑","");
$(this).text(text);
})
//2、当前被点击的元素变为选中状态
$(".sort_a").css({"color":"#FFF","border-color":"#e4393c","background":"#e4393c"})
//3、改变升降序,升序:<a class="sort_a">销量</a>
// 降序:<a class="sort_a desc">销量</a>
$(ele).toggleClass("desc");//加上desc表示降序,不加升序
//某个元素是否拥有desc样式
if($(ele).hasClass("desc")){
var text=$(ele).text().replace("↓","").replace("↑","");
text=text+"↓";
$(ele).text(text);//降序
}else{
var text=$(ele).text().replace("↓","").replace("↑","");
text=text+"↑";
$(ele).text(text);//升序
}
}
改造替换方法
//替换和添加
function replaceAndAddParamVal(url,paramName,replaceVal){
val oUrl=url.toString();
//1、如果没有就添加,有就替换
if(oUrl.indexOf(paramName)!=-1){
var re=eval('/('+paramName+'=)([^&]*)/gi');
var nUrl=oUrl.replace(re,paramName+'='+replaceVal);
return nUrl;
}else{
var nUrl="";
if(oUrl.indexOf("?")!=-1){
nUrl = oUrl +"&"+paramName+ '=' + replaceVal;
}else{
nUrl = oUrl +"?"+paramName+ '=' + replaceVal;
}
}
return nUrl;
}
3.选项框
$("#showHasStock").change(function(){
if($(this).prop("chected")){
//选中状态
location.href = replaceAndAddParamVal(location.href,"hasStock",1);
}else{
//未选中
var re=eval('/(hasStock=)([^&]*)/gi');
location.href=(location.href+"").replace(re,"");
}
return false;
})
[[$strings.equals(param.hasStock,"1")]]
<!--从地址路径的值-->
<a href="#" th:width="chect=${param.hasStock}">
<!--单选框回显-->
<input id="showhasStock" type="checkbox" th:chected="${#strings.equals(chect,'1')}">
仅显示有货
</a>
4.利用fastjson进行逆转
//利用fastjson进行逆转
public <T> getData(String key,TypeReference<T> typeReference){
Object data = get(key);//默认是map
String s = JSON.toJSONString(data);
T t = JSON.parseObject(s,typeReference);
return t;
}
5.导航参数取消
private String replaceQueryString(SearchParam param,String value,String key){
String encode =null;
try{
encode = URLEncoder.encode(value,"UTF-8");
//浏览器对空格编码和java不一样,浏览器将空格变为%20,java变为+
encode = encode.replace("+","%20");
}catch(UnsupportedEncodingException e){
e.printStack();
}
return param.get_queryString().replace("&"+key+"="+encode,"");
}
品牌id是否为空,如果空不显示
<!--品牌-->
<div th:width="brandid=${param.barndId}" th:if="${#strings.isEmpty(brandid)}"></div>