检索源数据
1、传统写法
var arr = [];
for(var i=0; i<cities[i]; i++){
var city = cities[i]; //{nm,py}
if(city.nm.indexOf(info) != = -1 || city.py.indexOf(info) != = -1) { //!= =-1说明存在
//符合检索内容
arr.push(city);
}
}
2、数组新方法 forEach 遍历
var arr = [];
cities.forEach(function(city, index){ //回调函数
if(city.nm.indexOf(info) ! = = -1 || city.py.indexOf(info) != = -1 { //!==-1 说明存在
//符合检索内容
arr.push(city);
}
})
3、数组新方法 filter 筛选
规则:回调函数返回 true 则将当前元素加入新数组
return cities.filter(function(city){
return city.nm.indexOf(into) != =-1 || city.py.indexOf(info) != =-1
})
4、change和input的区别
change:value发生改变,并失去焦点时触发
input:只要value发生变化就触发
5、表单事件:
focus元素获得焦点时触发
blur元素失去焦点时触发
submit() 提交表单
change:当input、textarea元素value值改变且失去焦点时、select元素选项改变时触发
input:当input、textarea元素value值改变同步触发事件,select元素选项改变时触发