使用请求/处理代码加载JS数组的更快方法

Faster way to load JS Array using Request/Handling Code

本文关键字:数组 方法 JS 加载 请求 处理 代码      更新时间:2023-09-26

我有以下数组变量:

var states_list = {
    '1': ['747','748','749','750','751','752','753','754','755','756','757','758','759','760','761','762','763','764','765','766','767','768','769'],
    '2': ['500','501','502','503','504','505','506','507','508'],
    '3': ['516','517','518','519','520','521','522'],
    '4': ['523','524','525','526','527','528','529','530','531'],
    '5': ['544','545','546','547','548','549'],
    '6': ['537','538','539','540','541','542','543'],
    '7': ['550','551','552','553','554','555','556','557','558','559'],
    '8': ['560','561','562','563','564','565','566','567','568','569','570','571','572','573','574','575','576','577','578','579','580','581','582','583','584','585'],
    '9': ['586','587','588','589','590','591','592','593','594','595','596','597','598','599','600','601','602','603','604','605','606','607','608','609','610','611','612','613','614','615','616','617','618','619','620','621'],
    '10': ['622','623','624','625','626','627','628','629','630','631','632','633','634','635','636','637','638','639','640','641','642','643','644','645','646','647','648','649','650','651','652','653','654','655','656','657','658'],
    '11': ['659','660','661','662','663','664','665','666','667','668','669','670','671','672'],
    '12': ['673','674','675','676','677','678','679','680','681','682','683','684','685','686','687','688','689'],
    '13': ['690','691','692','693','694','695','696','697','698','699'],
    '14': ['700','701','702','703','704','705','706','707','708','709','710','711','712','713'],
    '15': [],
    '16': ['509','510','511','512','513','514','515'],
    '17': ['714','715','716','717','718','719'],
    '18': ['720','721','722','723','724','725','726','727','728','729','730'],
    '19': ['731','732','733','734','735','736','737','738'],
    '20': ['739','740','741','742','743','744','745','746'],
    '21': ['770','771','772','773','774','775','776','777','778'],
    '22': ['779','780','781','782','783','784','785','786','787','788','789','790','791','792','793','794','795','796','797','798'],
    '23': ['799','800','801','802','803','804','805','806','807','808','809','810','811','812','813','814','815','816','817','818','819','820','821','822','823'],
    '24': ['824','825','826','827','828','829','830','831'],
    '25': ['832','833','834','835','836','837','838','839','840','841','842','843'],
    '26': ['844','845','846','847','848'],
    '27': ['849','850','851','852','853','854','855','856','857','858','859','860','861','862','863','864','865','866','867','868','869','870','871'],
    '28': ['872','873','874','875','876','877','878','879','880','881'],
    '29': ['882','883','884','885','886','887','888','889','890','891'],
    '30': ['892','893','894','895','896','897','898','899','900','901','902'],
    '31': ['903','904','905','906','907','908','909','910','911','912','913','914','915','916','917','918','919','920','921'],
    '32': ['922','923','924','925','926','927','928','929','930','931','932','933','934','935','936'],
    '33': ['937','938','939','940','941','942','943','944','945','946','947','948','949','950','951','952','953','954','955','956','957','958','959','960','961','962','963','964','965'],
    '34': ['532','533','534','535','536']
}

这个(由于尺寸原因省略):

var districts_list = {
        '500': ['1006', '2671', '3312', '3444', '3873', '4165', '4191', '4649', '5156'],
        '501': ['1322', '3121', '5810', '6141'],
        '502': ['1335', '1793', '1850', '2372', '3275', '5186', '5348', '5496', '5667', '6091'],
        '503': ['1642', '2379', '4563', '5675', '5909', '6075', '6344'],
        '504': ['3858', '3868', '4107', '4590'],
        '505': ['1002', '1108', '1517', '2853', '3271', '3719', '5000', '5251', '5410'],
        '506': ['1339', '2151', '3150', '4196', '5287'],
        '507': ['1500', '2970', '3074', '3763', '4619', '4856', '5256', '5257', '5258', '5821'],
        '508': ['2173', '2174', '2175', '2176'],
        '509': ['1232', '1537', '3867', '3895', '4601', '4791', '5008', '5761'],
        '510': ['2638', '3003', '3883', '5471', '6150'],
        '511': ['1045', '3486', '4566', '5470', '6242'],
        '512': ['3151', '4425', '5465', '5781'],
        '513': ['1777', '2374', '4420', '4421', '4940'],
        '514': ['1214', '3862', '5253', '5429', '5987'],
        '515': ['2171', '2325', '3005', '3716'],
        '516': ['1352', '1509', '1683', '1912', '1921', '1968', '2001', '2017', '2038', '2050', '2114', '2468', '3488', '3637', '3673', '4053', '4415', '4939', '5070', '5557', '6431', '6458'],
        '517': ['1137', '1334', '1671', '1854', '1881', '1914', '1933', '1959', '1991', '1996', '2033', '2035', '2058', '2082', '2672', '2720', '2884', '3339', '3694', '3869', '4058', '4288', '4400', '4439', '4546', '4668', '5072', '5664', '5745'],
        '518': ['1143', '1407', '1626', '1669', '1877', '1982', '1995', '2043', '2048', '2075', '2628', '3110', '3176', '3220', '3225', '3691', '4224', '4270', '4361', '4653', '4740', '4844', '5933', '6228', '6334', '6445'],
        '519': ['1920', '2016', '2094', '2096', '2371', '2681', '3887', '4870'],
        '520': ['2062', '2113', '2909', '5341', '5849', '6418'],
        '521': ['1249', '2002', '2066', '2083', '2088', '2112', '2572', '2633', '3038', '3178', '3236', '3240', '3445', '3811', '4286', '4327', '4376', '4446', '4508', '4730', '4911', '5328', '5349', '5637', '6132', '6197'],
        '522': ['1484', '1548', '1936', '2014', '2063', '2621', '2885', '2893', '3402', '4112', '4637', '4671', '5944'],
        '523': ['2990', '3190', '3731', '4675', '4679', '5219'],
        '524': ['1043', '1049', '1151', '1458', '2264', '2384', '2842', '3079', '3098', '3362', '4096', '4249', '4283', '4610', '4731', '4898', '5820', '5855'],
        '525': ['2928', '2929', '2930', '2931', '3118', '3643', '4100', '5978'],
        '526': ['1576', '3061', '6061', '6348'],
        '527': ['3436', '3437', '3438', '3439', '3440', '5013'],
        '528': ['3584', '4046', '4047', '4048', '4733', '6173'],
        '529': ['1577', '2116', '3192', '4267', '5274', '5483'],
        '530': ['1050', '2526', '3585', '5269', '5270', '5271', '5272', '5273', '5300', '5301', '5655', '5838', '5871', '5872', '6371'],
        '531': ['1557', '2288', '2803', '4000', '4976', '4977', '5255', '5783', '6128'],
        '532': ['1272', '1331', '1368', '2191', '2530', '2664', '2910', '3237', '4308', '4397', '4692', '4702', '4850', '5137', '5214', '5368', '5604'],
        '533': ['2346', '2387', '2869', '4140', '4150', '4346', '4414', '4554', '4698', '4737', '4892', '5028', '5160', '5280', '5302', '6013', '6169', '6558'],
        '534': ['2303', '2386', '2753', '3161', '3479', '4092', '4443', '4624', '5120', '5325', '6146', '6472'],
        '535': ['1572', '1874', '2181', '2309', '2396', '2743', '3936', '3946', '3993', '4122', '4144', '4316', '4764', '5369', '5552', '6149', '6340'],
        '536': ['2136', '2349', '2409', '2410', '2663', '3205', '3229', '3736', '3900', '4127', '4324', '6081', '6380', '6526', '6593'],
        '537': ['2560'],
        '538': ['1892', '2419', '2561', '2757', '2953', '3031', '4348', '5883', '5902'],
        '539': ['1890', '2304', '2562', '2679', '3027', '3882', '5180', '5315', '5912'],
        '540': ['2010', '2553', '2563', '2950', '2951', '3687', '4391', '4510', '4641', '5361', '6062'],
        '541': ['1856', '2056', '2068', '2240', '2564', '2608', '3223', '3650', '3807', '4511', '4843'],
        '542': ['2023', '2565', '3004', '3159', '4272', '4626', '5992'],
        '543': ['3070', '3071', '4823'],
        '544': ['1738', '2231', '3690', '4300', '6206'],
        '545': ['1131', '1179', '1485', '1699', '1712', '3513', '3514', '3976', '4847', '5709', '6094', '6190', '6249', '6250'],
        '546': ['1132', '1180', '3333', '5710', '6251'],
        '547': ['3476', '3776', '4299', '4549', '4749', '4935', '5873'],
        '548': ['1704', '2710', '5814', '6017'],
        '549': ['2238', '2411', '3183', '3194', '3195', '3196'],
        '550': ['1231', '1459', '3780', '3781', '3902', '4007', '4035', '4611'],
        '551': ['1456', '2690', '3515', '4008', '4044', '4597', '4598', '4953', '5928', '5932'],
        '552': ['1046', '1047', '1444', '2130', '2438', '2451', '2480', '2945', '3012', '5542', '5770'],
        '553': ['1319', '2586', '4029', '4365', '5765', '5824', '5825'],
        '554': ['2574', '3284', '3285', '3779', '3906', '5239', '5317', '5750'],
        '555': ['1432', '3700', '4020', '4556', '4595', '5169'],
        '556': ['1582', '3259', '3901', '4620', '6332', '6333'],
        '557': ['2172', '3865', '4027', '4173', '4956', '5062'],
        '558': ['4033', '5011', '5012', '5014', '5712', '6069', '6070', '6071', '6159', '6396'],
        '559': ['2134', '2573', '2575', '2576', '2645', '3185', '4507', '4596', '6096'],
        '560': ['1157', '1250', '1337', '1676', '1875', '1943', '1981', '2018', '2020', '2039', '2040', '2052', '2099', '2155', '2513', '2915', '3086', '3639', '3764', '3767', '4076', '4227', '4366', '4407', '4516', '4530', '4930', '4931', '5569'],
        '561': ['1487', '1964', '1979', '2021', '2037', '2054', '2059', '2064', '2081', '2467', '3467', '4128', '4234', '4499', '5026', '5487'],
        '562': ['1267', '1354', '1385', '1515', '1816', '1880', '1916', '1918', '1935', '1958', '1967', '1975', '1993', '2011', '2086', '2090', '2091', '2331', '2332', '2721', '2874', '2888', '3080', '3454', '3489', '3660', '3856', '4317', '4367', '4378', '4411', '4531', '4660'],
        '563': ['1197', '1673', '1831', '1860', '1919', '2137', '2604', '3109', '3728', '4514', '4700', '4735', '4871'],
        '564': ['1616', '1644', '1907', '1937', '1969', '1990', '2060', '2065', '2078', '2105', '2569', '2762', '3446', '4225', '4276', '4360', '4552', '4868', '4893', '5063', '5615', '6002'],
        '565': ['1756', '1940', '2030', '2032', '2079', '2087', '2106', '2139', '2319', '2601', '2606', '2610', '4377', '4517', '4933', '5547', '5669', '5736', '5737', '5738', '5801', '6008', '6009', '6011', '6261', '6352', '6399'],
        '566': ['1363', '1677', '1678', '1909', '1915', '1955', '1977', '1989', '2044', '2055', '2084', '2110', '2460', '2570', '2623', '2717', '2864', '2872', '3493', '3726', '3733', '4233', '4292', '4389', '4503', '4895', '4910', '5087', '5093', '5167', '5495', '5559', '5640'],
        '567': ['1353', '1401', '1903', '1953', '1963', '1965', '1972', '1973', '2000', '2036', '2041', '2049', '2077', '2605', '2771', '2932', '3365', '3388', '3606', '3725', '4232', '4362', '4385', '4408', '4441', '4462', '4492', '4867', '4908', '4932', '5060', '5407', '5486'],
        '568': ['1123', '1150', '1175', '1198', '1303', '1305', '1306', '1307', '1492', '1680', '1681', '1923', '1924', '1931', '1942', '1945', '1947', '2102', '3108', '3482', '3765', '4934', '4989', '5642', '5668', '5746', '6358'],
        '569': ['1333', '3384', '4542', '4869'],
        '570': ['2026', '2027', '2028', '2029'],
        '571': ['1925', '1966', '2057', '2532', '2933', '3720', '5885', '6050', '6053'],
        '572': ['1202', '1682', '1853', '1917', '1934', '1983', '1984', '1985', '1986', '1987', '1988', '2855', '2987', '4011', '4568', '5342', '5362', '5646', '5671', '5674', '5899', '5904', '5905', '6044'],
        '573': ['1359', '1524', '1525', '1526', '1527', '1528', '2597', '2617', '3840', '4066', '4732', '4734', '4981'],
        '574': ['1196', '1679', '1879', '1882', '1904', '1908', '1929', '1941', '1960', '1961', '1971', '2019', '2047', '2080', '2085', '2095', '2217', '2449', '2454', '2592', '2684', '3025', '3136', '3490', '3492', '3849', '4093', '4368', '4500', '4502', '4929', '5045', '5644', '5650'],
        '575': ['1660', '1661', '1662', '1663', '1664', '1665', '5929'],
        '576': ['1158', '1176', '1195', '1518', '2015', '2072', '2073', '2097', '2180', '2230', '2341', '2355', '2364', '2779', '2826', '2883', '2890', '2966', '3135', '3456', '3569', '4055', '4219', '4223', '4344', '4413', '4435', '4504', '4701', '4706', '5215', '5716', '5806', '5809'],
        '577': ['1138', '1146', '1264', '1323', '1709', '1876', '1992', '2286', '2322', '2492', '2536', '2599', '2698', '2813', '2843', '2971', '3087', '3227', '3241', '3453', '3543', '3567', '5482', '5553', '5638', '5701', '6303', '6517'],
        '578': ['1910', '1926', '1928', '1949', '1956', '1962', '2012', '2022', '2025', '2046', '2061', '2098', '2138', '2327', '2483', '2568', '2589', '2719', '2766', '2865', '3224', '3290', '3434', '3610', '3663', '3704', '4194', '4388', '4513', '5247', '5484', '5614'],
        '579': ['1152', '1338', '1366', '1957', '1998', '2045', '2154', '2620', '2622', '2716', '3082', '3458', '3491', '3502', '3638', '3641', '4338', '4469', '4909', '5488', '5639', '5721', '5850'],
        '580': ['2070', '2071', '2487', '2998', '3094', '3459', '4581'],
        '581': ['1523', '1939', '2031', '2179', '3516', '4392', '5189', '5679'],
        '582': ['1386', '1488', '1905', '1938', '1980', '2008', '2009', '2013', '2618', '2631', '2894', '2895', '2896', '3137', '3200', '3325', '3457', '3640', '4321', '4422', '4573', '4874', '4982', '5001', '5852', '6086', '6130', '6131', '6153', '6226', '6227'],
        '583': ['1035', '1684', '1859', '1861', '1906', '1922', '1930', '1951', '1970', '1974', '1978', '2007', '2051', '2069', '2108', '2356', '2722', '2887', '3455', '3699', '4098', '4229', '4290', '5485', '5648', '5653', '5666', '5848', '5947', '6459'],
        '584': ['1362', '1675', '1878', '1911', '1932', '1944', '1946', '1948', '1950', '1952', '1954', '1976', '1994', '1997', '2067', '2074', '2076', '2089', '2115', '2354', '2437', '2579', '2580', '2704', '2718', '2742', '2755', '2957', '3483', '4075', '4198', '4222', '4475'],
        '585': ['1406', '1927', '1999', '2093', '2450', '3475', '6455'],
        '586': ['1019', '1365', '1606', '2003', '2004', '2005', '2006', '2034', '2053', '2156', '2313', '2662', '2802', '2877', '2936', '2985', '3097', '3242', '3644', '3741', '4197', '4551', '5124', '5408', '6427'],
        '587': ['1018', '1069', '1095', '1188', '1714', '1763', '1801', '2399', '2849', '2859', '2882', '2959', '3144', '3329', '3330', '3941', '4274', '4579', '4648', '4728', '4773', '4863', '5035', '5061', '5306', '5609'],
        '588': ['1302', '1733', '1868', '2229', '2413', '2737', '2749', '3903', '4057', '4061', '4116', '4151', '4318', '5080', '5082', '5190', '5210', '5608', '6082', '6154', '6522'],
        '589': ['1222', '1387', '1510', '1553', '1752', '1851', '2340', '2412', '2759', '3037', '3327', '3539', '4153', '4691', '4876'],
        '590': ['1356', '1521', '1796', '1871', '2359', '2695', '2784', '2812', '2974', '3142', '3226', '4119', '4474', '4782', '5265', '6133', '6137', '6236', '6300', '6545'],
        '591': ['2330', '2752', '2763', '2780', '2997', '3066', '3088', '3450', '3962', '5161', '5263', '5686', '6398', '6479', '6564'],
        '592': ['3628', '3629', '3630', '3631'],
        '593': ['1112', '1125', '1379', '1741', '1897', '2700', '2860', '3046', '3143', '3961', '4067', '4143', '4177', '5111', '5193', '5261', '5452', '6172', '6562'],
        '594': ['2103', '2408', '2593', '2612', '2624', '2653', '2693', '2694', '2847', '2873', '2946', '3078', '3806', '3956', '4134', '6049', '6055'],
        '595': ['1514', '1884', '1895', '2161', '2324', '2609', '2675', '2701', '2764', '2846', '2858', '2871', '2956', '3024', '3138', '3139', '3140', '3141', '3730', '4139', '4572', '4713', '4765', '6306', '6324', '6500'],
        '596': ['2362', '2375', '2401', '2652', '2761', '2868', '2965', '3794', '3940', '3969', '4158', '4707', '5115', '5119', '5414', '5601', '5681', '5729', '5943', '6014'],
        '597': ['1235', '1551', '1795', '2333', '2421', '2903', '3958', '4167', '4722', '5685', '6056', '6509'],
        '598': ['1499', '1501', '1798', '2271', '2385', '2388', '2389', '2611', '2616', '2619', '2889', '3128', '3740', '4121', '4163', '4477', '4760', '4795', '4873', '5262', '5415', '5554', '6230', '6548', '6582'],
        '599': ['1351', '2637', '3431', '4509', '5347', '5566'],
        '600': ['1343', '1350', '1494', '1506', '2754', '2866', '3624', '3703', '4291', '4580', '4852', '4872', '4889', '4912', '5424', '5808', '6426', '6434'],
        '601': ['1057', '1382', '1495', '2024', '2432', '2603', '2750', '2867', '2948', '2978', '3033', '3041', '3604', '4328', '4548', '4881', '4882', '4883', '4884', '4885', '4886', '4980', '5563', '5573', '5713', '5744', '5887', '6440'],
        '602': ['1284', '1384', '1425', '1505', '1641', '2417', '2815', '3517', '4569', '4987', '5612', '6181', '6323', '6457', '6566'],
        '603': ['1341', '1652', '1666', '1898', '2588', '2595', '2658', '2669', '2986', '3218', '3289', '4138', '4937', '5118', '6243', '6335'],
        '604': ['1252', '1504', '1670', '1765', '2135', '2403', '2777', '2822', '2825', '2911', '2967', '2977', '3067', '3676', '3770', '4125', '4137', '4156', '4269', '4890', '5234', '5623', '5699', '5725', '5890', '6134'],
        '605': ['1342', '1364', '1748', '1791', '1808', '2600', '3081', '3099', '3403', '3568', '4301', '5089', '5533', '5576', '5957', '6284', '6432'],
        '606': ['1701', '2165', '2166', '2292', '2435', '2850', '2854', '2886', '2955', '3924', '3995', '5198', '6501', '6555'],
        '607': ['1747', '2285', '2378', '2397', '2418', '2426', '2878', '2982', '3132', '3217', '4136', '4616', '4845', '4878', '5951', '6054', '6089', '6290', '6527'],
        '608': ['1327', '1454', '2657', '2767', '2901', '2976', '3014', '3028', '3820', '3947', '4078', '4570', '5837', '6502'],
        '609': ['1668', '1746', '1896', '2365', '2781', '2819', '3049', '3510', '4126', '4294', '4543', '4544', '4576', '4696', '5017', '5036', '5514', '5696', '6503'],
        '610': ['1218', '2153', '2343', '2594', '2641', '2782', '3277', '3853', '6384'],
        '611': ['1451', '2101', '2225', '2284', '2360', '2470', '2566', '2567', '2699', '2942', '3771', '3772', '4545', '4787', '5688', '5891', '6059', '6102', '6297', '6499', '6523'],
        '612': ['1674', '1757', '2216', '2736', '2809', '2852', '2857', '2989', '3095', '3432', '4440', '4655', '5548', '5603', '5875', '6229', '6525', '6549', '6553'],
        '613': ['1114', '1361', '1535', '1658', '2104', '3952', '4600', '4650', '4846', '4938', '5881', '6376', '6460', '6477'],
        '614': ['1657', '1685', '1771', '2760', '2765', '2851', '2862', '2870', '2879', '3000', '3026', '3084', '3324', '3996', '4235', '4621', '4859', '4993'],
        '615': ['1797', '2434', '2769', '3219', '3414', '4372', '4394', '4995', '5088', '5163', '5212', '5555', '5705', '5717'],
        '616': ['1099', '1276', '1378', '1507', '1574', '1750', '2376', '2578', '2783', '4220', '4776', '5742', '5803', '5807', '6161', '6336', '6385', '6386', '6387'],
        '617': ['1020', '1248', '1672', '1809', '2226', '2227', '2607', '2979', '3222', '3433', '3768', '4293', '4418', '5551', '5798', '5854', '6043', '6461'],
        '618': ['4583', '4584', '4585', '4586', '4587'],
        '619': ['1153', '5085', '5416', '5418', '6216'],
        '620': ['1381', '1872', '2293', '2337', '2370', '2469', '3923', '4124', '4574', '5281', '5282', '5283', '5284', '5285', '5286', '6136'],
        '621': ['3766', '6072', '6073', '6076', '6077'],
        '622': ['1324', '1388', '2100', '2305', '2369', '2383', '2392', '2393', '2708', '2751', '2772', '3501', '4054', '4640', '4880', '5024', '5307', '5439', '5513', '5577', '5607', '6079', '6083', '6541'],
        '623': ['1604', '1703', '1902', '2111', '2423', '3130', '3626', '4315', '4763', '4797', '5305', '5698', '5734', '5884', '6021', '6078', '6162', '6237', '6560', '6573'],
        '624': ['1059', '1102', '1154', '1268', '1326', '2433', '2644', '2648', '2655', '2682', '2775', '2778', '3047', '3443', '3818', '4052', '4330', '4461', '4553', '4793', '4920', '5293', '5440', '5692', '5700', '5724', '5728', '5732', '5948', '6155', '6381', '6579'],
        '625': ['1372', '2308', '2420', '2471', '2810', '2814', '2943', '3072', '3228', '3292', '3953', '4118', '4129', '4298', '4472', '4482', '4699', '4704', '4849', '4875', '5018', '5294', '6042'],
        '626': ['2968', '3959', '4642'],
        '627': ['1253', '1883', '2118', '2206', '2352', '2358', '2674', '2897', '2958', '3623', '3852', '4670', '5162', '5183', '6543', '6581'],
        '628': ['1399', '1550', '2880', '2891', '2905', '2935', '3472', '3633', '3742', '4135', '4162', '4404', '4476', '4697', '4727', '5691', '5845'],
        '629': ['1749', '2367', '2676', '2848', '2863', '2980', '3050', '3055', '3332', '3735', '4141', '4157', '4271', '4434', '4498', '4687', '5490', '6518'],
        '630': ['1159', '1286', '2213', '2954', '4104', '4120', '4231', '4780', '4855', '5620', '6080', '6319'],
        '631': ['1193', '1216', '1263', '1818', '2577', '2651', '2665', '2926', '3945', '4142', '4159', '4738', '4790', '4848', '5116', '5129', '5195', '5442', '5550'],
        '632': ['2904', '3622', '3724', '5880'],
        '633': ['1325', '2152', '2190', '2347', '2402', '2613', '2666', '3039', '3328', '3955', '3957', '3960', '4155', '4228', '4853', '4862', '5579', '6298', '6304'],
        '634': ['1265', '1768', '1865', '2345', '2550', '3235', '3238', '4751', '4767', '5213', '5413', '5682', '5882', '5949', '6039', '6322', '6453', '6544'],
        '635': ['3632', '4473'],
...
}

我想将这些数据快速填充到我的选择框中。到目前为止,我有这个代码:

if(typeof selectedProvince != 'undefined' && typeof selectedState != 'undefined') {
    // Iterate through var districts_list to look for province ID based on var selectedState value
    $.each(districts_list, function(key, value) {
        if( ($.inArray(''+selectedState, value)) >= 0 ) {
            // Assign var selectedProvince with province ID
            selectedDistrict = key;
        }
    });
    // Iterate through var states_list to look for province ID based on var selectedState value
    $.each(states_list, function(key, value) {
        if( ($.inArray(''+selectedDistrict, value)) >= 0 ) {
            // Assign var selectedProvince with province ID
            selectedProvince = key;
        }
    });
    $(function() {
        // Pre-select province
        $('#id_province option[value=' + selectedProvince + ']').attr('selected', true);
        // Initiate filterOn plugin (the cities based on province filter)
        $('#id_district').filterOn('#id_province', states_list);
        // Pre-select district
        $('#id_district option[value=' + selectedDistrict + ']').attr('selected', true);
        $('#id_state').filterOn('#id_district', districts_list);
        // Pre-select state
        $('.id_state option[value=' + selectedState + ']').attr('selected', true);
    });
}

代码可以正确执行,并且可以填充两个选择框,问题是它花费的时间太长。

我想知道我是否可以加快速度,或者放置一个微调器或加载条,直到它正确填充。

JSON数据的结构限制了我,这意味着我不能对其进行任何更改

我希望有人能帮我。感谢

编辑#1javascript和html在一个单独的文件上

这是包含选择框的HTML

<select name="" id="id_district" style="width:104%; height:37px;" ></select>
<select name="id_state" id="id_state" style="width:104%; height:37px;" >
                                <option></option>
                            </select>

您的数据太多,使用.inArray.each搜索正确的州或地区需要线性时间,因为它们遍历每个项目并进行比较以找到包含地区/州的数组。

我建议预先计算一个地区所属的省份,并将其存储在一个大数组中,也许可以将此查找表保存在服务器上的JSON文件中。然后使用ajax加载这个查找表。

例如,假设我预先计算了一个名为DistrictProvinceMapping的大数组。我需要找到该地区所属的省份。我只是通过DistrictProvinceMapping[690]获得代码,它返回13。

然后我可以预先选择我的省份选择框。

这将把你搜索的时间复杂性降低到O(1)

或者,如果不受约束,并且数据存储在DB中,则创建一个充当查找表的SQL视图,并使用Ajax让服务器进行查找,这样就不必在客户端机器上加载大数组。