1.在dataGrid中,如果我们需要对后台传过来的数据进行修饰,我们可以采用formatter,这里需要注意的是,我们最好不要直接把值放在formatter中,而是设置专门的对象去存储所有的值,就像下面这样:
{
field : 'type',
title : '审核类型',
width : '25%',
align : 'center',
formatter: function (value, row, index) {
var _v = value + '';
if (_v) {
return getValueByKey(AUDIT_TYPE, _v);
}
}
}
function getValueByKey(arr, key) {
var i = 0;
for (i = 0; i < arr.length; i++) {
if (arr[i].value == key) {
return arr[i].text;
}
}
return "未能找到";
}
var AUDIT_TYPE = [{
text : '订单审核',
value : '0'
}, {
text : '成本审核',
value : '1',
}];
2.在往后端传送数据的时候,我们需要将传过去的对象转化成JSON字符串,使用JSON.stringify(),就像这样:
_sendData = JSON.stringify(_sendData);
3.当一个页面中既有修改功能又有新增功能的时候,我们可以使用id来区分他们,为了以后方便管理我们可以专门在common.js中定义一个Addflag=-1来区分。这样在进入页面时,如果是新增就让url带参数id=-1,在进入页面之后判断id是否为-1,如果为-1为新增,若为修改,则应该发送请求获取当前id的所有信息,就像下面这样:
var gAddOpenUrl = "UI/BasicData/SysUserDetail.html?id=-1";
var gEditOpenUrl = "UI/BasicData/SysUserDetail.html?id=";
var gCurrid = getID();
//获取url当中的id
function getID() {
urlinfo = window.location.href; //获取当前页面的url
len = urlinfo.length; //获取url的长度
offset = urlinfo.indexOf("?"); //设置参数字符串开始的位置
if (offset == -1) {
return undefined;
}
newsidinfo = urlinfo.substr(offset, len); //取出参数字符串 这里会获得类似“id=1”这样的字符串
newsids = newsidinfo.split("="); //对获得的参数字符串按照“=”进行分割
newsid = newsids[1]; //得到参数值
newsname = newsids[0]; //得到参数名字
return newsid;
}
$(document).ready(function () {
var _sendData = {id: gCurrid};
var _res;
if (gCurrid !=AddFlag) {
_res = gRequest.putRemoteData(gApiKey, "get", _sendData);
_res.done(function (data) {
getData = data.data;
getFormData(data.data);
});
}
});
4.在dom加载完之后执行的操作我们可以放在
(function(){
})
5.当我们从localStorege中拿数据时:
goodData: JSON.parse(localStorage.getItem("GoodsData")),
拿到数据之后我门如果想要进行模糊查询,可以使用onChange函数,在这里需要注意的是easyui的combobox本来是自带模糊查询的,但是它的模糊查询只能够查询英文,如果要查中文的话,需要自己写模糊查询。就像这这样:
onChange: function (newValue, oldValue) {
if (!isEnglishAndNumber(newValue) || newValue === undefined) {
if (newValue !== "") {
return;
}
}
var _searchData = searchByCodeOrCodePy(newValue.trim());
$(this).combobox("loadData", _searchData ? _searchData : gBasicDetailPage.goodData);
},
function searchByCodeOrCodePy(value) {
var _goodsData = JSON.parse(localStorage.getItem("GoodsData"));
var _value = value.toLowerCase();
var _searchGoodData = _goodsData.filter(function (current) {
return (current.code.indexOf(value) >= 0 || current.pinyin.toLowerCase().indexOf(_value) >= 0);
});
return _searchGoodData;
}