在用JqGrid写自定义搜索的时候,搜索字段为select
时候,选项sopt
这个咋写都不对,一怒之下查看了这块源码以下php
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有两种写法app
当sopt为字符串的时候写法为code
{value : "1:已使用;0:未使用"}
当sopt为对象的时候写法为对象
sopt: {value :{'':'所有',1:'已使用',0:'未使用',2:'使用中',3:'已过时'}},
官网wiki字符串