jqGrid表单编辑选择顺序

我有一个来自编辑页面的jqGrid,其中包含一个select,已经设置了选项。 问题是在不同的浏览器中排序是不同的。 Firefox和某些版本的Chrome将原始排序(原始排序是按选项内容)更改为按选项排序的值。 这是JavaScript代码:

jQuery('#jqgridDM').GridUnload(); jQuery('#jqgridDM').jqGrid({ 'url': '/sco-intra/dichiarazioneM/jqgridlist/362.html', 'datatype': 'json', 'mtype': 'POST', 'colNames': ['Deposito', 'Societa Propr Prodotto', 'Prodotto Lib', 'Quantita'], 'colModel': [ { 'name': 'deposito_id', 'index': 'deposito_id', 'width': '100', 'editable': true, 'edittype': 'select', 'editoptions': { 'value': { '242': '11009 - LUDOIL (DARM PETROLI) - NOLA'} }, 'formoptions': { 'label': 'Deposito'} }, { 'name': 'societa_propr_id', 'index': 'societa_propr_id', 'width': '100', 'editable': true, 'edittype': 'select', 'editoptions': { 'value': { '1231': 'AF PETROLI', '1000': 'A2A', '706': 'A2A TRADING', '1001': 'ABD AIRPORT SPA', '1107': 'ABRUZZO COSTIERO', '1002': 'ACQUAPOWER', '1244': 'ACTV SPA', '1108': 'ADRIATICA PETROLI', '1003': 'AERELBA /ALATOSCANA', '1004': 'AEROPORTO DI REGGIO EMILIA', '1005': 'AERORIFORNIMENTI TIRRENICA ART', '1006': 'AEROSERVICE', '607': 'AGENZIA CARBONI', '1007': 'AGRIPETROLI', '1008': 'AGRITERMO', '264': 'AIR BPITALIA', '1109': 'AL.MAR. SRL', '1009': 'ALBA DE BIASE & C. SAS', '1010': 'ALBERGO PETROLI', '1012': 'ALI TRASPORTI AEREI ATA SPA', '1011': 'ALIDAUNIA', '48': 'ALMA PETROLI', '263': 'ALPHA TRADING', '1110': 'ALPIGAS', '1111': 'AMALFI BUNKERN', '1233': 'AMBROGIO MORO SPA', '3': 'API', '1013': 'ARADRIATICA SRL', '60': 'ARCOLA PETROLIFERA', '1230': 'AREAGAS', '1174': 'ARI CHIMICA', '1014': 'ATA ALISERVIZI SPA', '1112': 'ATESINA GAS', '501': 'AUTOGAS MERIDIONALE', '502': 'AUTOGAS NORD', '1248': 'AUTOGAS NORD VENETO EMILIANA SRL', '503': 'AUTOGAS OROBICA', '1207': 'AUTOGAS RIVIERA SRL', '1175': 'AUTOPROFI ITALIA', '1015': 'AVA AEROPORTO VILLANOVA D\'ALBENGA', '1016': 'AVERSANA PETROLI', '506': 'AVIONGAS', '1176': 'AZELIS ITALIA', '55': 'BP ITALIA', '1017': 'BP ITALIA ex Castrol', '1105': 'BPP SPA', '504': 'BADANO GAS', '1018': 'BARTOLOMEO LA CAVA COMBUSTIBILI SRL', '1019': 'BASALTI ENERGIA', '1020': 'BASILE PETROLI', '1203': 'BELLEMO CARBURANTI', '1113': 'BELLINI SRL', '1114': 'BELLO CARBURANTI', '1115': 'BENVENUTI ULISSE', '505': 'BEYFIN', '1021': 'BLACK SERVICE SRL', '1022': 'BLANCO PETROLI', '1023': 'BLOM CGR', '1201': 'BOMAG ITALIA', '1024': 'BORDANDINI IGINO', '507': 'BRAGAS', '1116': 'BRENNTAG SPA', '1025': 'BUNKERAGGI AEREI NORDEST', '1117': 'BUNKERAGGI SRL', '508': 'BUTANGAS', '625': 'BUZZI UNICEM', '47': 'CABOT ITALIANA', '1026': 'CALOR SERVICE SRL', '1027': 'CAMASTRA PETROLI SPA', '1028': 'CAMASTRA PETROLI SRL', '1029': 'CAMER PETROLEUM EUROPA SRL', '1118': 'CAMPISI MARIA', '1177': 'CANADA INTERN. SRL', '1030': 'CARBOIL', '1119': 'CARBOTRADE GAS SPA', '1120': 'CARBURANTI LUBRIFICANTI ARGENTARIO', '1243': 'CARMELO MARULLO &C SAS', '1121': 'CASTMAR SRL', '603': 'CEMENTERIA DI MONSELICE', '606': 'CEMENTI ROSSI', '600': 'CEMENTIR', '602': 'CEMENTIZILLO', '1122': 'CENTRO ALGHEMAR', '1123': 'CO. E CI. TRANSOIL', '626': 'COLACEM', '211': 'COLUMBIAN CARBON EUROPA SRL', '88': 'CONQORDOIL SRL', '1215': 'CONSULENZE E GESTIONI', '1125': 'COOP. MUTUA ASSISTENZA PESCATORI', '1218': 'COOP. PESCATORI DELTA PADANO', '1126': 'COOPERATIVA PESCATORI DI PILA', '1124': 'COSTANTIN SPA', '1032': 'COSTIERI D\'ALESIO', '1247': 'COSTIERO GAS LIVORNO', '1178': 'CTS SRL', '1033': 'D\'AIETTI PETROLI', '1241': 'DALMARE SPA', '1034': 'DAMA', '1127': 'DAMATO CARBURANTI SRL', '1035': 'DECAL', '1179': 'DELPHI ITALIA AUTOMOVE SRL', '1036': 'DEPOSITI COSTIERI TRIESTE', '1232': 'DEPOSITO DI ARCOLA', '35': 'DI PROPERZIO COMMERCIALE SRL', '1246': 'DINAGAS', '1236': 'DIPOGAS', '1037': 'DISMA', '1128': 'DITTA GIANICO ROSA', '405': 'DP LUBRIFICANTI', '1038': 'DREOSSO SRL', '42': 'E.ON PRODUZIONE SPA', '407': 'ECOFOX', '1252': 'ECOFUEL', '62': 'EDIPOWER SPA', '1039': 'EDISON SPA', '1180': 'EICO NOVACHEM SRL', '1129': 'EMBRACO EUROPE', '43': 'ENEL PRODUZIONE SPA', '510': 'ENERGAS', '1': 'ENI DIV.R&M ex AGIP', '1040': 'EOLIAN BUNKER', '1073': 'EREDI ORSI AMOS', '1080': 'ERG OIL SICILIA SRL', '45': 'ERG SPA', '7': 'ESSO ITALIANA SRL', '204': 'EURALLUMINA', '1041': 'EUROPAM', '1130': 'F. DI CESARE RISCALDAMENTI SAS', '1134': 'F.LLI D\'ADDATO SNC', '1042': 'F.LLI PREVEDEL', '1131': 'FANIZZA FRANCESCO', '1043': 'FANTASIA PETROLI', '1181': 'FATI SRL', '1182': 'FEBI ITALIA SRL', '513': 'FIAMMA 2000', '1226': 'FINCANTIERI SPA', '1132': 'FIORGAS', '1044': 'FIRMIN EX PO TRASPORTI', '1183': 'FO. IN SNC', '1184': 'FORTRON ITALIA SNC', '1045': 'FOX PETROLI', '1133': 'FRATELLI SINAGRA', '514': 'FRIULANA GAS', '68': 'FUCHS LUBRIFICANTI SRL', '1135': 'GAETANO SALVEMINI', '1046': 'GAFFOIL', '1136': 'GARDNER DENVER', '1137': 'GAS ADIGE LEGNAGO', '53': 'GAZPROMNEFT', '408': 'GDR', '1047': 'GE.AR.TO.', '1185': 'GE.FA. SRL', '1048': 'GEAC', '1049': 'GETOIL SRL', '1138': 'GETRASPED SRL', '1050': 'GHIGI SAS', '1225': 'GIULIANA BUNKERAGGI SPA', '1228': 'GM GAS SRL', '1204': 'GOIL PETROLI', '515': 'GOLDENGAS', '1051': 'GRUPPO DISTRIBUZIONE PETROLI', '33': 'GRUPPO VERSALIS', '1139': 'GT NAUTICA', '1186': 'HARLEY DAVIDSON ITALIA SRL', '1187': 'HENKEL ITALIA', '608': 'HOLCIM ITALIA (Comabbio-VA)', '604': 'HOLCIM ITALIA (Merone-CO)', '1251': 'IDIR SPA', '1234': 'I.RO.P', '1052': 'I.SE.CO.LD', '78': 'IES', '1053': 'IG OPERATION AND MAINTANANCE', '21': 'ILVA TARANTO', '1189': 'INTERFLON ITALIA', '1242': 'INTERPORTO RIVALTA SCIVIA', '516': 'IPEM', '14': 'IPLOM SPA', '41': 'ISAB', '410': 'ITAL BI OIL', '411': 'ITAL GREEN OIL', '601': 'ITALCEMENTI', '523': 'ITALCOST SRL', '12': 'ITALIANA PETROLI SPA', '1054': 'IVI PETROLIFERA', '1056': 'J-PETROL', '1055': 'JV ORIO', '11': 'KUWAIT PETROLI IT. SPA', '1057': 'LA 91 PETROLI SRL', '1140': 'LA PETROLIFERA ITALORUMENA', '1058': 'LA SUD PETROLI', '517': 'LAMPOGAS', '1210': 'LAMPOGAS EMILIANA', '1212': 'LAMPOGAS FRIULI', '1209': 'LAMPOGAS LOMBARDA', '1208': 'LAMPOGAS NORD', '609': 'LAVORAZIONI ILVA', '1059': 'LEGNARO CARBURANTI', '1141': 'LEMMA SAVINO CARLO', '1060': 'LEVORATO MARCEVAGGI', '528': 'LIQUIGAS', '1250': 'LITASCO', '1061': 'LOM PETROLCHIMICI', '612': 'LUCCHINI (stab. Piombino)', '610': 'LUCCHINI (stab. Trieste 1)', '611': 'LUCCHINI (stab. Trieste 2)', '1062': 'LUDOIL ENERGIA SRL', '44': 'LUKOIL ITALIA SRL', '1190': 'LUMAR ITALIA', '1191': 'MACON RESEARCH', '518': 'MAGIGAS', '1223': 'MAKITA SPA', '1143': 'MARBO ITALIA', '1144': 'MARIA AVERSANO', '1145': 'MARINE SERVICE', '150': 'MAXCOM BUNKER SRL', '22': 'MAXCOM PETROLI', '1063': 'MAXOIL SPA', '1188': 'MCD ITALIA', '1146': 'ME.COMB. SPA', '1064': 'MEDIASERVICE ITALIA', '1065': 'MERIDIONALE PETROLI', '1192': 'MIKU CHEMIE ITALIA', '1147': 'MILANESE PETROLI', '2000': 'MISE DEPOSITI ESTERI', '1213': 'MITO TRASPORTI', '1205': 'MMR', '1219': 'MOBILITY POINT', '1214': 'MONGAS', '1066': 'MOSCUZZA VINCENZO & C.', '412': 'MYTHEN', '1148': 'NAPPI', '1067': 'NAUTILIA SRL', '1068': 'NAUTILUS CARBURANTI', '1220': 'NORAUTO ITALIA', '1149': 'NOVA STILMOIL', '413': 'NOVAOL', '1150': 'NUOVA CLAR', '1069': 'NUOVA LIBARNA', '1070': 'NUZZI PETROLI', '336': 'OCS-IT', '414': 'OIL B.', '1071': 'OLEOTECNICA SPA', '1072': 'OPEC ORGANIZZAZIONE PETROLIFERA CAMPANA', '1151': 'OROGAS', '1142': 'OVEGAS SRL', '1193': 'PA SERVICE', '1152': 'PANTA DISTRIBUZIONE', '1221': 'PANTA DISTRIBUZIONE SPA', '1074': 'PETRA', '1075': 'PETROL FUEL', '1153': 'PETROLGAS', '1076': 'PETROLIG SRL', '1202': 'PETROLUBE', '1194': 'PETRONAPHTE', '1106': 'PETRONAS LUBRICANTS DIV. RONDINE', '59': 'PETRONAS LUBRIFICANTS', '1077': 'PETROVEN SRL', '1078': 'PINTA ZOTTOLO', '1079': 'PIR PETROLI', '1154': 'PROVVEDITORIA MARITTIMA DI CAORLE', '519': 'PUBLIGAS', '1104': 'PVB FUELS', '10': 'Q8 QUASER SRL', '1155': 'QUAKER ITALIA', '1227': 'RAI', '1081': 'RAFFINERIA DI MILAZZO', '82': 'RAFFINERIA DI ROMA SPA', '1082': 'RAMOIL', '1249': 'RAMOIL TRADING SRL', '15': 'REPSOL', '1156': 'RESTIANI SPA', '1157': 'RILUB', '1217': 'RIVA MARE', '1253': 'ROMA BITUMI SRL', '1158': 'RUM ANTONIO E UMBERTO', '1195': 'RVN GROUP', '605': 'SACCI', '1084': 'SACCNE PETROLI', '529': 'SAN MARCO GAS LOGISTICA E SERVIZI SRL', '32': 'SAN MARCO PETROLI', '19': 'SARAS', '1235': 'SARLUX (saras)', '1085': 'SARPOM', '1086': 'SASE SPA', '301': 'SASOL', '1087': 'SASOL ITALY', '1196': 'SAVINI CLAUDIO E FIGLI', '1088': 'SCAT PUNTI VENDITA', '1159': 'SERAFINI', '1089': 'SERAM SPA', '1160': 'SERVIZIO MARE SRL', '1090': 'SHELL ITALIA AVIAZIONE SPA', '69': 'SHELL ITALIA SPA', '1198': 'SIA EURO DELFIN INDUSTRY', '1091': 'SICILIANA CARBOLIO', '1092': 'SIGEMI', '1093': 'SILVIA & FIGLI SRL', '1239': 'SIPIC', '1094': 'SKYTANKING', '1095': 'SO.COM.CI', '1197': 'SO.IT.EM', '1083': 'SOCIETA ENIPOWER FERRARA SRL', '1161': 'SOCIETA\' COOPERATIVA TRA LAVORATORI DELLA PESCA', '1162': 'SOCIETA\' INTERNAZIONALE LUBRIFICANTI SLI', '521': 'SOCIETA\' ITALIANA GAS LIQUIDI SPA', '520': 'SOCOGAS', '1031': 'SODECO', '1096': 'SOLAR', '1097': 'SOLDA\' VLADIMIRO SP.A.', '1163': 'SOVEGAS', '1222': 'STIHL SPA', '525': 'SUDGAS SPA', '1237': 'SUPERBA SRL', '1098': 'SYNDIAL', '1224': 'SYNTHESIS CHIMICA', '1164': 'SYNTHESIS SPA', '1099': 'TAG BOLOGNA SRL', '2': 'TAMOIL ITALIA', '1165': 'TECNIGAS', '1103': 'TEK SERVICE SPA', '1211': 'TERMOGAS', '1166': 'TESTONI SRL', '79': 'TIRRENO POWER', '13': 'TOTAL AVIAZIONE ITALIA', '1199': 'TOTAL GLASS LUBE GMBH', '46': 'TOTALERG', '511': 'TOTALGAZ', '1167': 'TRAMONTANA PETROLI', '1168': 'TRANSPORT & TRADING', '1169': 'TRANSPORT SAS DI TAULA V.', '1245': 'TUNAP', '526': 'ULTRAGAS CENTRO MERIFIONALE', '527': 'ULTRAGAS TIRRENIA (Sardegna)', '1200': 'UNISIDA EUROPLATING', '1229': 'UNIVAR SPA', '1238': 'VALGAS SRL', '1100': 'VALTER DEL DO\'', '1170': 'VELLETRI LUIGI', '1101': 'VENETA COMBUSTIBILI SRL', '1240': 'VILMA OIL SRL', '1171': 'VISCOL SPA', '242': 'VISCOLUBE ITALIANA', '1172': 'WUERTH SRL', '1173': 'ZF SACHS ITALIA' }, 'defaultValue': 'LUDOIL ENERGIA SRL' }, 'formoptions': { 'label': 'Societa proprietaria' } }, { 'name': 'prodotto_lib_id', 'index': 'prodotto_lib_id', 'width': '100', 'editable': true, 'edittype': 'select', 'editoptions': { 'value': { '1': '1 - Petrolio Greggio', '2': '2 - LGN', '3': '3 - Semilavorati (prodotti base di raffineria)', '4': '4 - Altri Idrocarburi', '5': '5 - Gas di raffinerie', '6': '6 - Etano', '7': '7 - GPL', '8': '8 - Nafta', '9': '9 - Benzina', '10': '10 - Benzina Avio', '11': '11 - Jet Fuel tipo Benzina', '12': '12 - Jet Fuel tipo Cherosene', '13': '13 - Altro kerosene', '14': '14 - Gasolio', '15': '15 - Gasolio autotrazione', '16': '16 - Gasolio riscaladamento e altri gasoli', '17': '17 - Olio combustibile BTZ', '18': '18 - Olio combustibile ATZ', '19': '19 - Acqua ragia minerale e benzine speciali', '20': '20 - Lubrificanti', '21': '21 - Bitume', '22': '22 - Cere paraffiniche', '23': '23 - Coke di Petrolio', '24': '24 - Biocarburante per gasolio', '25': '25 - Biocarburante per benzina' } }, 'formoptions': { 'label': 'Prodotto' } }, { 'name': 'quantita', 'index': 'quantita', 'width': '40', 'editable': true, 'editrules': { 'number': true }, 'align': 'right' } ], 'viewrecords': true, 'autowidth': true, 'editurl': '/sco-intra/dichiarazioneM/jqgridedit/362.html', 'height': 'auto', 'footerrow': true, 'userDataOnFooter': true, 'rowNum': '30', 'grouping': true, 'groupingView': { 'groupField': ['deposito_id'], 'groupText': ['{0} - {1} Item(s)'] }, 'pager': '#jqgridDM_pager' }).navGrid('#jqgridDM_pager', { 'edit': true, 'add': true, 'del': true, 'search': false, 'view': false }, { 'afterSubmit': processAddEditDel, 'editData': { 'lstUpd': getLastUpdate }, 'width': '600', 'closeAfterEdit': true, 'viewPagerButtons': false, 'beforeShowForm': checkRowId, 'afterShowForm': manageDate }, { 'afterSubmit': processAddEditDel, 'editData': { 'lstUpd': getLastUpdate }, 'width': '600', 'clearAfterAdd': true, 'beforeShowForm': changeDisabled, 'afterShowForm': manageDate }, { 'afterSubmit': processAddEditDel, 'delData': { 'lstUpd': getLastUpdate }, 'width': '600', 'beforeShowForm': checkRowId } ); 

如果您测试此代码,您将看到IE和Safari保留选项顺序,而FF和Chrome更改它。 请给我一些提示吗? 谢谢

我认为选择选项的顺序不同的原因是因为你使用editoptions.value对象forms:

 editoptions: { value: { '1231': 'AF PETROLI', '1000': 'A2A', '706': 'A2A TRADING', '1001': 'ABD AIRPORT SPA', ... '1172': 'WUERTH SRL', '1173': 'ZF SACHS ITALIA' } } 

jqGrid只是枚举了对象的属性( for (key in valuesObject) {...}循环(参见源代码 )。 对象项的顺序可以取决于所使用的JavaScript引擎。 因此,您可以在生成的包含不同的选项顺序。

我建议你使用以下字符串forms:; 作为分隔符(如果需要替换:;到另一个字符,可以使用separatordelimiter ),甚至更好地使用dataUrldataUrl的响应可以是包含所有选项。 如果来自dataUrl的响应不是HTML片段,则可以另外使用buildSelect ,并将响应转换为buildSelect回调函数内的