var array = new Object()
创建一个空对象用来存储你传的参数,就是每个点击事件都要传参且也要将参数存储起来
同时筛选里面也会涉及到清空参数以及删除某一个值,例子:
var array={"name": "xiaojiayu", "age": 24, "gender": "man","sex":""}
1、删除对象里某一个值
delete array.name
2、清空对象
for(var key in array){
delete array[key]
}
3、清除对象里空的键值对
for(var key in array){
if(array[key] === ""){
delete array[key]
}
}
您好:说一下我们自己商城的实现方式,最初我们用的都是服务器控件。首先先把所有的筛选条件加载到页面上,在用户点击的时候因为都是服务器控件,所以每次都会回发,我们给每个控件都有一个唯一的ID标识,这样每次点击后,把查询条件拼接到sql中查询出数据后,把当前点击的筛选条件存到ViewState中,然后页面刷新后去读取这个ViewState的值。也就是你页面上有几类筛选条件就需要几个ViewState值来存储。后来因为数据从后台回发到前台,百度抓取的时候是抓不到的,不利于商城的SEO优化。最后决定把所有的筛选条件都拼接到URL中进行传值。这也是大多数网站采用的方式。就是举个例子:查询学生信息,筛选条件类型有,身高,体重,年龄。那么筛选条件都有a标签,连接是这样<a href='http://www.student.com/studentlist.html?age=18'></a>这样。点身高的时候先把连接中加上身高的的条件然后刷新页面。这样在后台直接request获取值,然后查询数据库即可。为此我们也自己写了一个根据传入的筛选条件来返回不同url的实体类方法。很简单。京东淘宝筛选也是刷新页面的。
查询完后,也是根据url中的值来锁定哪个筛选条件来显示选中状态。
写下思路吧:写个过滤的function
var allData = [] //数组
function filter(key){
var len = allData .length
var result = []
for(var i=0i<leni++){
if(allData[i].indexOf(key)!=-1){//key 拉列表框选择相应项
result.push(allData[i])
}
}
return result
}