温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载:热线球队财务管理系统源码
当前文件:
SmallFinance/script/select.js[9K,2009-6-12 11:54:23],打开代码结构图
SmallFinance/script/select.js[9K,2009-6-12 11:54:23],打开代码结构图1selectObjs = false; 2
curSelectObj = null; 3
window.onresize = TryAdjustSelect; 4
setTimeout("SetOnFocusToHideSelect();",500); 5
6
function SetOnFocusToHideSelect() 7
{ 8
if(document.body == null) return; 9
var obj; 10
var i; 11
if (document.all){ 12
document.body.onfocus = TryHideSelect; 13
obj = document.all.tags("TABLE"); 14
for (i=0;i<obj.length;i++){ 15
obj.item(i).onfocus = TryHideSelect; 16
} 17
obj = document.all.tags("TD"); 18
for (i=0;i<obj.length;i++){ 19
obj.item(i).onfocus = TryHideSelect; 20
} 21
obj = document.all.tags("A"); 22
for (i=0;i<obj.length;i++){ 23
obj.item(i).onfocus = TryHideSelect; 24
} 25
} 26
} 27
28
function RegisterSelect(selobj) 29
{ 30
if (!selectObjs) 31
selectObjs = new Array(); 32
selectObjs[selectObjs.length] = selobj; 33
} 34
35
function TryAdjustSelect() 36
{ 37
if (selectObjs){ 38
for (i=0;i<selectObjs.length;i++) 39
if (selectObjs[i].visible){ 40
CalcSelectPosition(selectObjs[i]); 41
} 42
} 43
} 44
45
function TSelectObject(formVarH,formVarV,idOn,idOff,selectedIndex,nItems,arrSource,strFuncName,selTable) 46
{ 47
this.formVarH = formVarH; 48
this.formVarV = formVarV; 49
this.idOn = idOn; 50
this.idOff = idOff; 51
this.selectedIndex = selectedIndex; 52
this.visible = false; 53
this.nItems = nItems; 54
this.arrSource = arrSource; 55
this.strFuncName = strFuncName; 56
this.disabled = false; 57
this.selTable = selTable; 58
return this; 59
} 60
61
function ToggleSelect(selobj) 62
{ 63
if (selobj.disabled) return; 64
if (selobj.visible) 65
HideSelect(selobj); 66
else 67
ShowSelect(selobj); 68
return; 69
} 70
71
function HighlightOption(selobj,i) 72
{ 73
NormalOption(selobj,selobj.selectedIndex); 74
var obj = document.all[selobj.idOn+"_"+i]; 75
if(obj == null) return; 76
obj.style.backgroundColor = "#113399"; 77
obj.style.color = "#ffffff"; 78
} 79
80
function NormalOption(selobj,i) 81
{ 82
var obj = document.all[selobj.idOn+"_"+i]; 83
if(obj == null) return; 84
obj.style.backgroundColor = "#f0f0f0"; 85
obj.style.color = "#000"; 86
} 87
88
function OptionClicked(selobj,idx,val) 89
{ 90
var obj = document.all[selobj.idOn+"_"+idx]; 91
var vstr = obj.innerText; 92
vstr = vstr.replace(/^( )+/,""); 93
var formObj=null; 94
95
formObj = FindFormByVarName(selobj.formVarH); 96
if (formObj!=null){ 97
eval("formObj."+selobj.formVarV+".value = vstr;"); 98
eval("formObj."+selobj.formVarH+".value = val;"); 99
} 100
else{ 101
document.all[selobj.formVarH].value = val; 102
document.all[selobj.formVarV].value = vstr; 103
} 104
selobj.selectedIndex = idx; 105
HideSelect(selobj); 106
} 107
108
function CalcSelectPosition(selobj) 109
{ 110
if (document.all){ 111
var obj = document.all[selobj.idOff]; 112
var left = 0; 113
var top = 0; 114
for (; obj!=document.body; obj=obj.offsetParent){ 115
if(obj.tagName=="DIV"){ 116
// alert(obj.name); 117
} 118
if(obj.tagName!="DIV"){ 119
left += obj.offsetLeft; 120
top += obj.offsetTop; 121
} 122
} 123
obj = document.all[selobj.idOn].style; 124
obj.pixelLeft = left; 125
obj.pixelTop = top+document.all[selobj.idOff].offsetHeight+1; 126
obj.pixelWidth = document.all[selobj.idOff].offsetWidth; 127
if (selobj.nItems<=10){ 128
obj.pixelHeight = selobj.nItems*16+2; 129
obj.overflow = "visible"; 130
} 131
else{ 132
obj.pixelHeight = 10*16+2; 133
obj.overflow = "auto"; 134
} 135
} 136
} 137
138
function PreShowSelect(selobj) 139
{ 140
obj = document.all[selobj.idOn].style; 141
obj.overflow = "hidden"; 142
} 143
144
function ShowSelect(selobj) 145
{ 146
if (document.all){ 147
if (curSelectObj!=null) 148
HideSelect(curSelectObj); 149
selobj.visible = true; 150
document.all[selobj.idOn].style.visibility="visible"; 151
CalcSelectPosition(selobj); 152
HighlightOption(selobj,selobj.selectedIndex); 153
curSelectObj = selobj; 154
} 155
} 156
157
function HideSelect(selobj) 158
{ 159
if (document.all){ 160
obj = document.all[selobj.idOn].style; 161
obj.visibility="hidden"; 162
selobj.visible = false; 163
curSelectObj = null; 164
} 165
} 166
167
function DelayHideSelect(objname) 168
{ 169
setTimeout("HideSelect("+objname+");",200); 170
} 171
172
function TryHideSelect() 173
{ 174
if (curSelectObj!=null) 175
HideSelect(curSelectObj); 176
} 177
178
function FindFormByVarName(vname) 179
{ 180
for (i=0;i<document.forms.length;i++){ 181
if (document.forms[i].all[vname]!=null) 182
return document.forms[i]; 183
} 184
return null; 185
} 186
187
function CreateSelect(strName,strTitle,arrSource,intChecked,strFuncName,intSize) 188
{ 189
var defValue,defName; 190
if(arrSource.length == 0){ 191
defValue = ""; 192
defName = ""; 193
} 194
else 195
{ 196
defValue = arrSource[intChecked][0]; 197
defName = arrSource[intChecked][1]; 198
} 199
200
if(strFuncName == null){ 201
strFuncName = ""; 202
} 203
204
if(String(strFuncName).indexOf("(") == -1 && strFuncName != "") 205
strFuncName = strFuncName + "()"; 206
207
if(strFuncName != ""){ 208
strFuncName = strFuncName + ";"; 209
} 210
211
var selTable; 212
selTable = "seltable_" + strName; 213
document.write("<TABLE cellSpacing=0 cellPadding=0 border=0 id = " + selTable + "><TBODY>"); 214
document.write("<TR>"); 215
if(strTitle != "") 216
document.write("<TD class=ttTable noWrap>" + strTitle + "</TD>"); 217
document.write("<TD noWrap>"); 218
var seloff,selvarV,selon,selobj,selName; 219
seloff = "seloff_" + strName; 220
selvarV = "selvarV_" + strName; 221
selon = "selon_" + strName; 222
selobj = "selobj_" + strName; 223
selName = strName; 224
document.write("<DIV class=selectOff id=" + seloff + " onclick=ToggleSelect(" + selobj + ");>"); 225
document.write("<TABLE cellSpacing=0 cellPadding=0 border=0><TBODY>"); 226
document.write("<TR><TD>"); 227
if(intSize == null){ 228
document.write("<INPUT class=ednonedisable style=\"cursor: pointer\" readonly value=\"" + defName + "\" name=" + selvarV + "></TD>"); 229
} 230
else{ 231
document.write("<INPUT class=ednonedisable style=\"cursor: pointer\" readonly size= " + intSize + " value=\"" + defName + "\" name=" + selvarV + "></TD>"); 232
} 233
document.write("<TD width=\"1%\"><IMG style=\"cursor: pointer\" src=\"images/arrow_down.gif\" border=0></TD>"); 234
document.write("</TR></TBODY></TABLE>"); 235
document.write("</DIV>"); 236
document.write("<DIV class=selectOn id=" + selon + " onblur=\"DelayHideSelect('" + selobj + "');\">"); 237
var i; 238
for(i=0;i<arrSource.length;i++){ 239
document.write("<DIV class=selectItem id=" + selon + "_" + i + " onmouseover=HighlightOption(" + selobj + "," + i + "); onclick=\"OptionClicked(" + selobj + "," + i + ",'" + arrSource[i][0] + "');" + strFuncName + "\" onmouseout=NormalOption(" + selobj + "," + i + ");>" + arrSource[i][1] + "</DIV>"); 240
} 241
document.write("</DIV>"); 242
document.write("<INPUT type=hidden value=\"" + defValue + "\" name=" + selName + ">"); 243
document.write("</TD>"); 244
document.write("</TR>"); 245
document.write("</TBODY></TABLE>"); 246
eval(selobj + "= new TSelectObject('" + selName + "','" + selvarV + "','" + selon + "','" + seloff + "',intChecked,arrSource.length,arrSource,strFuncName,selTable);"); 247
eval("RegisterSelect(" + selobj + ");"); 248
return selobj; 249
} 250
251
function getValue(selobj,intShow) 252
{ 253
var strValue; 254
255
var varV,varH; 256
eval("varV = " + selobj + ".formVarV;"); 257
eval("varH = " + selobj + ".formVarH;"); 258
if(intShow == 1){ 259
strValue = document.all(varV).value; 260
} 261
else{ 262
strValue = document.all(varH).value; 263
} 264
265
return strValue; 266
} 267
268
function setValue(selobj,strValue,intShow) 269
{ 270
var arrSource; 271
eval("arrSource = " + selobj + ".arrSource;"); 272
273
if(arrSource.length == 0) return; 274
275
var i; 276
if(intShow == 1){ 277
for(i=0;i<arrSource.length;i++){ 278
if(arrSource[i][1] == strValue){ 279
break; 280
} 281
} 282
} 283
else{ 284
for(i=0;i<arrSource.length;i++){ 285
if(arrSource[i][0] == strValue){ 286
break; 287
} 288
} 289
} 290
if(i==arrSource.length){ 291
i = 0; 292
} 293
294
var varV,varH; 295
eval("varV = " + selobj + ".formVarV;"); 296
eval("varH = " + selobj + ".formVarH;"); 297
document.all(varV).value = arrSource[i][1]; 298
document.all(varH).value = arrSource[i][0]; 299
300
eval(selobj + ".selectedIndex = i;"); 301
} 302
303
function resetValue(selobj,arrSource,intChecked) 304
{ 305
var selon,strFuncName; 306
307
eval("selon = " + selobj + ".idOn;") 308
eval("strFuncName = "+selobj+".strFuncName;"); 309
310
var i; 311
var strHTML; 312
strHTML = ""; 313
for(i=0;i<arrSource.length;i++){ 314
strHTML = strHTML + "<DIV class=selectItem id=" + selon + "_" + i + " onmouseover=HighlightOption(" + selobj + "," + i + "); onclick=\"OptionClicked(" + selobj + "," + i + ",'" + arrSource[i][0] + "');" + strFuncName + "\" onmouseout=NormalOption(" + selobj + "," + i + ");>" + arrSource[i][1] + "</DIV>"; 315
} 316
eval("document.all(\"" + selon + "\").innerHTML = strHTML;"); 317
318
eval(selobj + ".arrSource = arrSource;"); 319
if(intChecked == null) intChecked = 0; 320
setValue(selobj,arrSource[intChecked][0]); 321
} 322
323
function clearValue(selobj) 324
{ 325
var selon; 326
327
eval("selon = "+selobj+".idOn;"); 328
eval("document.all(\"" + selon + "\").innerHTML = \"\";"); 329
var varV,varH; 330
eval("varV = " + selobj + ".formVarV;"); 331
eval("varH = " + selobj + ".formVarH;"); 332
document.all(varV).value = ""; 333
document.all(varH).value = ""; 334
335
var arrSource = new Array(); 336
eval(selobj + ".arrSource = arrSource;"); 337
} 338
339
function setEnable(selobj,blnEnabled) 340
{ 341
eval(selobj + ".disabled = !blnEnabled;"); 342
} 343
344
function setVisible(selobj,blnVisible) 345
{ 346
var seltable; 347
eval("seltable = " + selobj + ".selTable;"); 348
349
if(blnVisible){ 350
document.all(seltable).style.visibility = "visible"; 351
} 352
else{ 353
document.all(seltable).style.visibility = "hidden"; 354
} 355
} 356
357
function setDisplay(selobj,blnDisplay) 358
{ 359
var seltable; 360
eval("seltable = " + selobj + ".selTable;"); 361
362
if(blnDisplay){ 363
document.all(seltable).style.display = ""; 364
} 365
else{ 366
document.all(seltable).style.display = "none"; 367
} 368
} 369
370
function getLength(selobj) 371
{ 372
var arrSource; 373
eval("arrSource = " + selobj + ".arrSource;"); 374
return arrSource.length; 375
} 376
377
function insertValue(selobj,strValue,strShowValue) 378
{ 379
var arrSource; 380
eval("arrSource = " + selobj + ".arrSource;"); 381
var i; 382
i = arrSource.length; 383
arrSource[i] = new Array(); 384
arrSource[i][0] = strValue; 385
arrSource[i][1] = strShowValue; 386
resetValue(selobj,arrSource); 387
} 388
389
function getEnable(selobj) 390
{ 391
var blnEnabled; 392
eval("blnEnabled = !" + selobj + ".disabled;"); 393
return blnEnabled; 394
}






}
}