读书人

js 传参,该怎么处理

发布时间: 2013-12-23 14:30:52 作者: rapoo

js 传参


baseDataGridInit = function (TableID, DataGridID, ToolBar, opts) {
DataGridID = (DataGridID || "DataGrid");
ToolBar = (ToolBar || "ToolBar");

//初始化数据表格
$("#" + DataGridID).datagrid({
toolbar: "#" + ToolBar,
striped: true,
nowwrap: false,
border: true,
fit: (opts.fitColumns || true),
loadMsg: "",
queryParams: (opts.queryParams || { "method": "query" }),
idField: TableID,
url: (opts.url || location.href),
fitColumns: (opts.fitColumns||false),
pagination: true,
rownumbers: true,
singleSelect: false,
autoRowHeight:false});
}

不知道高手们能不能看到懂。
$("#" + DataGridID).datagrid();的参数是一个对象。而 baseDataGridInit 也是传入一个对象。
datagrid 本来有属性,我能不能自动一个的将 baseDataGridInit 的参数修正之后再传入到 datagrid 方法里面?
[解决办法]
setTimeout("baseDataGridInit(\"" + TableID+ "\",\"" + DataGridID+ "\",\""+ToolBar+"\",\""+opts+"
[解决办法]
")", 1000);

这样试试呢!!
[解决办法]
你这是在问,你上面的写法是不是正确的?

baseDataGridInit 你这个写的,不是传的几个参数吗,虽然参数可以是对象。

你说的传一个对象,是啥意思?

你要把这四个参数以一个对象的形式传入?
[解决办法]
本帖最后由 showbo 于 2013-12-20 15:15:29 编辑 baseDataGridInit = function (TableID, DataGridID, ToolBar, opts) {
DataGridID = (DataGridID
[解决办法]
"DataGrid");
ToolBar = (ToolBar
[解决办法]
"ToolBar");
var cfg = {
toolbar: "#" + ToolBar,
striped: true,
nowwrap: false,
border: true,
fit: (opts.fitColumns
[解决办法]
true),
loadMsg: "",
queryParams: (opts.queryParams
[解决办法]
{ "method": "query" }),
idField: TableID,
url: (opts.url
[解决办法]
location.href),
fitColumns: (opts.fitColumns
[解决办法]
false),
pagination: true,
rownumbers: true,
singleSelect: false,
autoRowHeight: false
};
$.extend(cfg, opts);
//初始化数据表格
$("#" + DataGridID).datagrid(

cfg);
}


这样?用opts扩展或者替换掉默认datagrid的配置?用$.extend方法
[解决办法]

引用:
不好意思,我表达不清晰。
上面的意思大概是这样:
我要给 datagrid 传多一个属性,
那么我必须修改
baseDataGridInit?这个方法。
我能不能做到不修改 baseDataGridInit? 这个方法又可以满足我的需求呢?

可以,用arguments[n]按位置来取参数
[解决办法]

baseDataGridInit = function (TableID, DataGridID, ToolBar, opts) {
DataGridID = (DataGridID
[解决办法]
"DataGrid");
ToolBar = (ToolBar
[解决办法]
"ToolBar");
var otherParms=null;
if (arguments.length>4){
otherParms=arguments[4];
}
//初始化数据表格
$("#" + DataGridID).datagrid({
toolbar: "#" + ToolBar,
striped: true,
nowwrap: false,
border: true,
fit: (opts.fitColumns
[解决办法]
true),
loadMsg: "",
queryParams: (opts.queryParams
[解决办法]
{ "method": "query" }),
idField: TableID,
url: (opts.url
[解决办法]
location.href),
fitColumns: (opts.fitColumns
[解决办法]
false),
pagination: true,
rownumbers: true,
singleSelect: false,
autoRowHeight:false},otherParms);
}

读书人网 >JavaScript

热点推荐