jqGrid表单编辑选择顺序

时间:2013-07-09 09:23:30

标签: javascript jquery jqgrid

我有一个来自编辑页面的jqGrid,其中包含一个选项,其中已经设置了选项。问题是在不同的浏览器中排序是不同的。 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': 'A.F. PETROLI',
                    '1000': 'A2A',
                    '706': 'A2A TRADING',
                    '1001': 'ABD AIRPORT S.P.A.',
                    '1107': 'ABRUZZO COSTIERO',
                    '1002': 'ACQUAPOWER',
                    '1244': 'ACTV SPA',
                    '1108': 'ADRIATICA PETROLI',
                    '1003': 'AERELBA /ALATOSCANA',
                    '1004': 'AEROPORTO DI REGGIO EMILIA',
                    '1005': 'AERORIFORNIMENTI TIRRENICA A.R.T.',
                    '1006': 'AEROSERVICE',
                    '607': 'AGENZIA CARBONI',
                    '1007': 'AGRIPETROLI',
                    '1008': 'AGRITERMO',
                    '264': 'AIR B.P.ITALIA',
                    '1109': 'AL.MAR. SRL',
                    '1009': 'ALBA DE BIASE & C. SAS',
                    '1010': 'ALBERGO PETROLI',
                    '1012': 'ALI TRASPORTI AEREI ATA S.P.A.',
                    '1011': 'ALIDAUNIA',
                    '48': 'ALMA PETROLI',
                    '263': 'ALPHA TRADING',
                    '1110': 'ALPIGAS',
                    '1111': 'AMALFI BUNKERN',
                    '1233': 'AMBROGIO MORO SPA',
                    '3': 'API',
                    '1013': 'ARADRIATICA S.R.L.',
                    '60': 'ARCOLA PETROLIFERA',
                    '1230': 'AREAGAS',
                    '1174': 'ARI CHIMICA',
                    '1014': 'ATA ALISERVIZI S.P.A.',
                    '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': 'B.P. ITALIA',
                    '1017': 'B.P. ITALIA ex Castrol',
                    '1105': 'B.P.P. 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 S.R.L.',
                    '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 S.P.A.',
                    '1028': 'CAMASTRA PETROLI S.R.L.',
                    '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 S.R.L.',
                    '88': 'CONQORDOIL S.R.L.',
                    '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 S.R.L.',
                    '42': 'E.ON PRODUZIONE SPA',
                    '407': 'ECOFOX',
                    '1252': 'ECOFUEL',
                    '62': 'EDIPOWER S.P.A.',
                    '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 S.R.L.',
                    '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': 'I.D.I.R. SPA',
                    '1234': 'I.RO.P',
                    '1052': 'I.SE.CO.L.D.',
                    '78': 'IES',
                    '1053': 'IG OPERATION AND MAINTANANCE',
                    '21': 'ILVA TARANTO',
                    '1189': 'INTERFLON ITALIA',
                    '1242': 'INTERPORTO RIVALTA SCIVIA',
                    '516': 'IPEM',
                    '14': 'IPLOM S.P.A.',
                    '41': 'ISAB',
                    '410': 'ITAL BI OIL',
                    '411': 'ITAL GREEN OIL',
                    '601': 'ITALCEMENTI',
                    '523': 'ITALCOST SRL',
                    '12': 'ITALIANA PETROLI S.P.A.',
                    '1054': 'IVI PETROLIFERA',
                    '1056': 'J-PETROL',
                    '1055': 'J.V. ORIO',
                    '11': 'KUWAIT PETROLI IT. S.P.A.',
                    '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 S.R.L.',
                    '1068': 'NAUTILUS CARBURANTI',
                    '1220': 'NORAUTO ITALIA',
                    '1149': 'NOVA STILMOIL',
                    '413': 'NOVAOL',
                    '1150': 'NUOVA C.L.A.R.',
                    '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': 'P A 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': 'R.A.I.',
                    '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 S.P.A.',
                    '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 S.P.A.',
                    '69': 'SHELL ITALIA S.P.A.',
                    '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 S.R.L.',
                    '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': ['<b>{0} - {1} Item(s)</b>'] },
    '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会更改它。请给我一些提示吗?感谢

1 个答案:

答案 0 :(得分:2)

我认为选择选项顺序不同的原因存在,因为你使用editoptions.value的对象形式:

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

jqGrid只是根据for (key in valuesObject) {...}循环枚举对象的属性(参见the source code)。对象项的顺序可以取决于所使用的JavaScript引擎。因此,您可以在生成的<select>中包含不同的选项顺序。

我建议您使用带有:;的字符串形式作为分隔符(如果需要替换separator,可以使用delimiter: }和;到另一个角色)或甚至更好地使用dataUrldataUrl的回复可以是<select>,包含所有选项。如果buildSelect的响应不是HTML片段,则可以使用dataUrl,并将响应转换为<select>回调函数内的buildSelect