jqGrid表单编辑选择排序 [英] jqGrid form editing select ordering

查看:65
本文介绍了jqGrid表单编辑选择排序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在编辑页面上有一个jqGrid,其中包含一个选择,并且已经设置了选项.问题在于在不同的浏览器中顺序是不同的. Firefox和某些版本的Chrome会将原始顺序(原始顺序是通过选项内容)更改为按选项顺序的值.这是JavaScript代码:

I have a jqGrid from editing page that contains a select, with the options already set. The problem is that the ordering is different in different browsers. Firefox and some version of Chrome change the original ordering (the original one is by option content) to an order by option value. Here is the JavaScript code:

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更改了该顺序.能给我一些提示吗?谢谢

If you test this code you will see that IE and Safari preserve the option order, while FF and Chrome change it. Could please give me some hint? Thanks

推荐答案

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

I suppose that the reason of different order of the options of select exists because you use object form of 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) {...}循环枚举对象的属性(请参阅

jqGrid just enumerate properties of the object with respect of for (key in valuesObject) {...} loop (see the source code). The order of items of objects can depend on the JavaScript engine used. So you can have different order of options included in the generated <select>.

我建议您使用带:;的字符串形式作为分隔符(如果需要将:;替换为其他字符,则可以使用separatordelimiter)或使用dataUrl甚至更好. dataUrl的响应可以是<select>的所有选项.如果来自dataUrl的响应不是HTML片段,则可以另外使用buildSelect,并将响应转换为buildSelect回调函数中的<select>.

I would recommend you to use either string form with : and ; as separators (you can use separator and delimiter if you need to replace : and ; to another characters) or even better to use dataUrl. The response from dataUrl can be <select> with all options. You can use buildSelect additionally if the response from dataUrl is not HTML fragment and convert the response to <select> inside of buildSelect callback function.

这篇关于jqGrid表单编辑选择排序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆