JqGrid 自定义搜索
从源码中找答案
在用JqGrid写自定义搜索的时候,搜索字段为select
时候,选项sopt
这个咋写都不对,一怒之下查看了这块源码如下
if ($t.sopt.value) {
var oSv = $t.sopt.value;
var elem = document.createElement("select");
$(elem).attr({
name: $t.index || $t.name,
id: "sg_" + $t.name
}).attr($t.sopt);
var so, sv, ov;
if (typeof oSv === "string") {
so = oSv.split(";");
for (var k = 0; k < so.length; k++) {
sv = so[k].split(":");
ov = document.createElement("option");
ov.value = sv[0];
ov.innerHTML = sv[1];
if (sv[1] == $t.defval) {
ov.selected = "selected";
}
elem.appendChild(ov);
}
} else if (typeof oSv === "object") {
for (var key in oSv) {
if (oSv.hasOwnProperty(key)) {
i++;
ov = document.createElement("option");
ov.value = key;
ov.innerHTML = oSv[key];
if (oSv[key] == $t.defval) {
ov.selected = "selected";
}
elem.appendChild(ov);
}
}
}
}
sopt
的两种写法
有源码可知:sopt有两种写法
-
当sopt为字符串的时候写法为
{value : "1:已使用;0:未使用"}
-
当sopt为对象的时候写法为
sopt: {value :{'':'全部',1:'已使用',0:'未使用',2:'使用中',3:'已过期'}},
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。