02-03-2025, 12:59 PM | #23 | |
Colonel
![]() 1351
Rep 2,327
Posts |
Quote:
I love the Wool/ cloth idea but the seats are weirdly styled. Which makes it a turnoff. Is Amido blue? I really would love a true black leather option since it feels and looks sporty on a alpine white. |
|
Appreciate
0
|
02-03-2025, 01:04 PM | #24 | ||
Lieutenant Colonel
![]() 3197
Rep 1,930
Posts
Drives: ix xDrive50
Join Date: Jul 2023
Location: Georgia
|
Quote:
Quote:
__________________
2024 iX xDrive50 Phytonic Blue on Mocha with DAPP, Premium, B&W, Ventilated & Radiant Heated Seats, Adaptive Headlights, and Luxury
Last edited by exxxviii; 02-03-2025 at 01:49 PM.. |
||
Appreciate
1
sahajesh2334.50 |
02-03-2025, 01:06 PM | #25 | |
Lieutenant Colonel
![]() 3579
Rep 1,610
Posts
Drives: '24 iX M60 '23 Tesla Model Y-P
Join Date: Jun 2023
Location: Las Vegas
|
Quote:
|
|
Appreciate
0
|
02-03-2025, 01:09 PM | #26 |
Major
![]() 1373
Rep 1,276
Posts |
|
Appreciate
2
LVBMW3579.00 LuisBoston2530.50 |
02-03-2025, 01:46 PM | #27 | |
Brigadier General
![]() 9987
Rep 4,555
Posts
Drives: anything German
Join Date: Sep 2012
Location: Atlanta
|
Quote:
|
|
Appreciate
0
|
02-03-2025, 01:47 PM | #28 | |
Colonel
![]() 1351
Rep 2,327
Posts |
Quote:
Funny thing about that Amido… it’s never the same. I’ve seen it a few times at the dealer and color always seems slightly different. |
|
Appreciate
1
LVBMW3579.00 |
02-03-2025, 03:22 PM | #29 |
Brigadier General
![]() 9987
Rep 4,555
Posts
Drives: anything German
Join Date: Sep 2012
Location: Atlanta
|
Yes. It’s dyed like all (most) auto leathers, but seems to be very unique. It’s a true grey to my eyes but I do see a hint of blue.
|
Appreciate
0
|
02-04-2025, 09:41 AM | #32 |
Major General
![]() ![]() ![]() 3056
Rep 5,467
Posts
Drives: G80 M3 6MT
Join Date: Mar 2014
Location: Long Island, NY
|
Allocations for ordering have been released, March production, but there is still no lease program available.
__________________
Scott, Partner
Insight Automotive Consulting Click HERE for all discounted BMW New Car Pricing Click HERE for all BMW In Stock Inventory Specials Call/Text: 516-416-5481 Email: scott@insightautoconsulting.com |
Appreciate
3
|
02-05-2025, 06:42 AM | #33 |
Lieutenant Colonel
![]() 1678
Rep 1,866
Posts |
Yes. And I had this exact car with the 6 speed manual transmission too. 😬
__________________
~ 24 M4 Comp
~ 25 X4M Comp ~ Prior BMW's - Too many to list here (28) |
Appreciate
1
Mikesbimmer3382.00 |
02-06-2025, 02:44 PM | #34 |
First Lieutenant
![]() ![]() ![]() 240
Rep 361
Posts |
Will it be NACS here in the US?
We just leased a 2025 IONIC 5 with NACS built in and it’s really nice to use the superchargers adapter free and with fewer potential compatibility issues. When our X5 50e lease is done this iX might be appealing — but less so if it’s using the old J1772. I’m thinking about this like the move from Lightning to USB-C with my devices. Wanted to go all in on the future standard as soon as I could. |
Appreciate
0
|
02-06-2025, 03:01 PM | #35 | |
Lieutenant Colonel
![]() 3579
Rep 1,610
Posts
Drives: '24 iX M60 '23 Tesla Model Y-P
Join Date: Jun 2023
Location: Las Vegas
|
Quote:
|
|
Appreciate
1
gadgetfreak2024240.00 |
02-06-2025, 06:53 PM | #36 | |
Colonel
![]() ![]() 2531
Rep 2,968
Posts
Drives: '13 128i, '23 iX M60
Join Date: Feb 2008
Location: Boston
|
Quote:
If you had a NACS port, you’ll need an adapter to use EA or any other CCS charger. What I’m getting at is: I think for the next 5-10 years anyone in an EV charging away from home will want an adaptor in the trunk regardless of the port the car has.
__________________
2023 BMW iX M60 BSM
2013 BMW 128i 6MT MGM/CR. M-sport/Premium/Cold, HK, Xenons, BMW SSK and PE. ED 7-12-2013 SOLD: '07 E90 6MT BSM/Terra, '18 F31 Sunset/Oyster, '21 Polestar 2 http://www.1addicts.com/forums/showthread.php?t=897862 |
|
Appreciate
1
smithf803056.00 |
02-07-2025, 06:57 AM | #37 | |
First Lieutenant
![]() ![]() ![]() 240
Rep 361
Posts |
Quote:
And understand on the adapter point. I now have one for my home Level 2. But it’s tiny. But just seems like 2025 is when most are switching over in one way or another and a refresh seems like a good opportunity to do the same here. |
|
Appreciate
0
|
02-07-2025, 07:27 AM | #38 | |
Colonel
![]() ![]() 2531
Rep 2,968
Posts
Drives: '13 128i, '23 iX M60
Join Date: Feb 2008
Location: Boston
|
Quote:
And the non-T* network is building out very quickly. Regardless, my point is still valid. Anyone driving an EV over the next 5-10 years would be doing themselves a disservice to not carry an adapter. Even many Tesla drivers carry adapters so they can use J1772 or CCS chargers if that’s the most convenient option. And J1772 / CCS chargers will be around for many years to come. You never know when you get to your destination and be surprised to find a charger (maybe even free!), then shame on you if you’re not equipped to use it.
__________________
2023 BMW iX M60 BSM
2013 BMW 128i 6MT MGM/CR. M-sport/Premium/Cold, HK, Xenons, BMW SSK and PE. ED 7-12-2013 SOLD: '07 E90 6MT BSM/Terra, '18 F31 Sunset/Oyster, '21 Polestar 2 http://www.1addicts.com/forums/showthread.php?t=897862 Last edited by LuisBoston; 02-07-2025 at 07:43 AM.. |
|
Appreciate
1
LVBMW3579.00 |
02-07-2025, 09:38 PM | #39 | |
First Lieutenant
![]() ![]() ![]() 240
Rep 361
Posts |
Quote:
My point though is that I’d rather get to the more future forward connector sooner — particularly if I’m going to be using the device (or car in this case) for a good number of years to come. |
|
Appreciate
0
|
02-13-2025, 09:30 AM | #40 |
Major
![]() 1373
Rep 1,276
Posts |
Talked with a local dealer yesterday, they said they still do not have any allocations/lease program info.
One thing I noticed when reviewing the pricing guide with them, is that the M-Sport Pro package replaces the Blue M-Sport Brake Calipers with the Red ones. Any idea if that is something that can be over-ruled to keep the blue ones? |
Appreciate
0
|
02-13-2025, 12:11 PM | #41 | |
Major General
![]() ![]() ![]() 3056
Rep 5,467
Posts
Drives: G80 M3 6MT
Join Date: Mar 2014
Location: Long Island, NY
|
Quote:
__________________
Scott, Partner
Insight Automotive Consulting Click HERE for all discounted BMW New Car Pricing Click HERE for all BMW In Stock Inventory Specials Call/Text: 516-416-5481 Email: scott@insightautoconsulting.com |
|
Appreciate
1
roxxor1372.50 |
02-18-2025, 02:35 AM | #42 |
Registered
5
Rep 2
Posts |
Small configurator web app
Wrote a small app that takes the rules from the PDFs above and lets you build out a vehicle (only xDrive60 for now).
I'm sure it's imperfect. Let me know what it's missing and I'll try to update. Looks like I can't upload an HTML file, so I'll just drop it here in code :shrug: Copy/paste everything in the code block into notepad, and save it as an .HTML file. If you click on the file, it should open the configurator in your browser. EDIT: Okay, updated it to work for all 3 vehicles now. Let me know any bugs! Code:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>BMW iX Configurator</title> <style> body { font-family: Arial, sans-serif; margin: 20px; } fieldset { margin-bottom: 20px; padding: 10px; } legend { font-weight: bold; } label { display: block; margin-bottom: 8px; } .package-item { margin-bottom: 4px; } #messages { color: red; font-weight: bold; } #pricingSummary p, #pricingSummary h3 { margin: 5px 0; } input:disabled + label { color: gray; } </style> </head> <body> <h1>BMW iX Configurator</h1> <!-- Vehicle Selector --> <label for="vehicleSelect">Select Vehicle:</label> <select id="vehicleSelect"> <option value="xDrive45">iX xDrive45 (Base Price: $75,150)</option> <option value="xDrive60" selected>iX xDrive60 (Base Price: $88,500)</option> <option value="M70">iX M70 (Base Price: $111,500)</option> </select> <h2 id="vehicleHeader">Base Model: iX xDrive60 (Base Price: $88,500)</h2> <form id="configForm"> <fieldset> <legend>Exterior Options</legend> <label for="exteriorColor">Exterior Color:</label> <select id="exteriorColor" onchange="updateConfigurator()"> <!-- Options will be populated dynamically --> </select> </fieldset> <fieldset> <legend>Interior Upholstery</legend> <label for="upholstery">Choose Upholstery:</label> <select id="upholstery" onchange="updateConfigurator()"> <!-- Options will be populated dynamically --> </select> </fieldset> <fieldset> <legend>Packages</legend> <div id="packagesContainer"> <!-- Package checkboxes will be populated dynamically --> </div> </fieldset> <fieldset> <legend>Options</legend> <div id="optionsContainer"> <!-- Standalone options (checkboxes/selects) will be populated dynamically --> </div> </fieldset> </form> <div id="messages"></div> <h2>Pricing Summary</h2> <div id="pricingSummary"></div> <script> // Configuration data for each vehicle model const vehicleConfigs = { xDrive45: { basePrice: 75150, vehicleName: "iX xDrive45", exteriorOptions: [ { value: "300", label: "300 Alpine White (Standard)", price: 0, dependency: "" }, { value: "416", label: "416 Carbon Black Metallic", price: 0, dependency: "" }, { value: "475", label: "475 Black Sapphire Metallic (Standard)", price: 0, dependency: "" }, { value: "A90", label: "A90 Dark Graphite Metallic", price: 0, dependency: "" }, { value: "A96", label: "A96 Mineral White Metallic (Standard)", price: 0, dependency: "" }, { value: "C3N", label: "C3N Storm Bay Metallic (+$1,950)", price: 1950, dependency: "" }, { value: "C3Z", label: "C3Z Tanzanite Blue II Metallic (+$1,950)", price: 1950, dependency: "" }, { value: "C4F", label: "C4F Arctic Race Blue Metallic (Standard)", price: 0, dependency: "" }, { value: "C57", label: "C57 Aventurin Red Metallic (Standard)", price: 0, dependency: "" }, { value: "C7A", label: "C7A Dune Grey Metallic (Standard)", price: 0, dependency: "" }, { value: "C64", label: "C64 Frozen Deep Grey Metallic (+$3,600)", price: 3600, dependency: "" } ], interiorOptions: [ { value: "SDJL", label: "SDJL M Sport Black Sensatec/Atlas Grey Microfiber", price: 0, dependency: "" }, { value: "SC", label: "SC Leather, Olive Leaf Tanned (+$3,500)", price: 3500, dependency: "" }, { value: "SCHA", label: "SCHA Amido Perforated Leather (Standard)", price: 0, dependency: "" }, { value: "SCIC", label: "SCIC Castanea Chestnut Perforated Leather (Standard)", price: 0, dependency: "" }, { value: "SA", label: "SA Perforated SensaTec (Not orderable with ZMP)", price: 0, dependency: "notWithZMP" }, { value: "SACX", label: "SACX Oyster Perforated SensaTec (Standard)", price: 0, dependency: "" }, { value: "SAMY", label: "SAMY Mocha Perforated SensaTec (Standard)", price: 0, dependency: "" }, { value: "SASW", label: "SASW Black Perforated SensaTec (Standard)", price: 0, dependency: "" }, { value: "SB", label: "SB Microfiber/Wool (+$500)", price: 500, dependency: "notWithZMP" }, { value: "SBJG", label: "SBJG Stonegrey Microfiber/Wool Blend Fine Textile (Standard)", price: 0, dependency: "" } ], packages: [ { id: "zdh", label: "ZDH Dynamic Handling Package (+$1,600)", price: 1600 }, { id: "zdy", label: "ZDY Driving Assistance Professional Package (+$2,550)", price: 2550 }, { id: "zmp", label: "ZMP M Sport Package (+$4,500)", price: 4500 }, { id: "zmq", label: "ZMQ M Sport Professional Package (+$950)", price: 950 }, { id: "zpp", label: "ZPP Premium Package (+$1,850)", price: 1850 }, { id: "zpx", label: "ZPX Executive Package (+$4,450)", price: 4450 }, { id: "zrc", label: "ZRC Climate Comfort Package (+$1,600)", price: 1600 } ], options: [ { id: "wheels", type: "select", label: "Wheels", options: [ { value: "1GQ", label: '20" Aero Frozen Dark Grey 1002 Wheels (Standard)', price: 0 }, { value: "1LB", label: '22" Aero Bicolor 1021 Wheels (+$1,800)', price: 1800 }, { value: "1LF", label: '21" Aero Bicolor 1012 Wheels (+$800)', price: 800 } ] }, { id: "trailerHitch", type: "checkbox", label: "Trailer Hitch (+$650)", price: 650, dependency: "" }, { id: "diamondSurround", type: "checkbox", label: "Bowers & Wilkins Diamond Surround Sound System (+$3,400)", price: 3400, dependency: "" }, { id: "frontSeats", type: "checkbox", label: "453 Front Ventilated Seats (+$500)", price: 500, dependency: "" }, { id: "multiSeats", type: "checkbox", label: "4FM Multi-Functional Seats (+$1,600)", price: 1600, dependency: "" }, { id: "kidneyGrille", type: "checkbox", label: "Illuminated Kidney Grille (+$500)", price: 500, dependency: "" } ] }, xDrive60: { basePrice: 88500, vehicleName: "iX xDrive60", exteriorOptions: [ { value: "300", label: "300 Alpine White (Standard)", price: 0, dependency: "" }, { value: "416", label: "416 Carbon Black Metallic (Requires ZMP)", price: 0, dependency: "requiresZMP" }, { value: "475", label: "475 Black Sapphire Metallic (Standard)", price: 0, dependency: "" }, { value: "A90", label: "A90 Dark Graphite Metallic (Cannot be combined with ZMP)", price: 0, dependency: "notWithZMP" }, { value: "A96", label: "A96 Mineral White Metallic (Standard)", price: 0, dependency: "" }, { value: "C3N", label: "C3N Storm Bay Metallic (+$1,950)", price: 1950, dependency: "" }, { value: "C3Z", label: "C3Z Tanzanite Blue II Metallic (+$1,950)", price: 1950, dependency: "" }, { value: "C4F", label: "C4F Arctic Race Blue Metallic (Standard)", price: 0, dependency: "" }, { value: "C57", label: "C57 Aventurin Red Metallic (Standard)", price: 0, dependency: "" }, { value: "C7A", label: "C7A Dune Grey Metallic (Standard)", price: 0, dependency: "" }, { value: "C64", label: "C64 Frozen Deep Grey Metallic (+$3,600)", price: 3600, dependency: "requiresZMP" } ], interiorOptions: [ { value: "SDJL", label: "SDJL M Sport Black Sensatec/Atlas Grey Microfiber (Requires ZMP)", price: 0, dependency: "requiresZMP" }, { value: "SC", label: "SC Leather, Olive Leaf Tanned (+$3,500)", price: 3500, dependency: "" }, { value: "SCHA", label: "SCHA Amido Perforated Leather (Standard)", price: 0, dependency: "" }, { value: "SCIC", label: "SCIC Castanea Chestnut Perforated Leather (Standard)", price: 0, dependency: "" }, { value: "SA", label: "SA Perforated SensaTec (Not orderable with ZMP)", price: 0, dependency: "notWithZMP" }, { value: "SACX", label: "SACX Oyster Perforated SensaTec (Standard)", price: 0, dependency: "" }, { value: "SAMY", label: "SAMY Mocha Perforated SensaTec (Standard)", price: 0, dependency: "" }, { value: "SASW", label: "SASW Black Perforated SensaTec (Standard)", price: 0, dependency: "" }, { value: "SB", label: "SB Microfiber/Wool (+$500, not orderable with ZMP)", price: 500, dependency: "notWithZMP" }, { value: "SBJG", label: "SBJG Stonegrey Microfiber/Wool Blend Fine Textile (Standard)", price: 0, dependency: "" } ], packages: [ { id: "zdh", label: "ZDH Dynamic Handling Package (+$1,600)", price: 1600 }, { id: "zdy", label: "ZDY Driving Assistance Professional Package (+$2,550)", price: 2550 }, { id: "zmp", label: "ZMP M Sport Package (+$4,500)", price: 4500 }, { id: "zpp", label: "ZPP Premium Package (+$1,750)", price: 1750 }, { id: "zpx", label: "ZPX Executive Package (+$4,400)", price: 4400 }, { id: "zrc", label: "ZRC Climate Comfort Package (+$1,450)", price: 1450 } ], options: [ { id: "wheels", type: "select", label: "Wheels", options: [ { value: "1GQ", label: '20" Aero Frozen Dark Grey 1002 Wheels (Standard)', price: 0 }, { value: "1LB", label: '22" Aero Bicolor 1021 Wheels (+$1,800)', price: 1800 }, { value: "1LF", label: '21" Aero Bicolor 1012 Wheels (+$800)', price: 800 } ] }, { id: "trailerHitch", type: "checkbox", label: "Trailer Hitch (+$650, requires ZMP)", price: 650, dependency: "requiresZMP" }, { id: "diamondSurround", type: "checkbox", label: "Bowers & Wilkins Diamond Surround Sound System (+$3,400)", price: 3400, dependency: "" }, { id: "kidneyGrille", type: "checkbox", label: "Illuminated Kidney Grille (+$500, included in ZPP or ZPX)", price: 500, dependency: "" }, { id: "frontSeats", type: "checkbox", label: "453 Front Ventilated Seats (+$500)", price: 500, dependency: "" }, { id: "multiSeats", type: "checkbox", label: "4FM Multi-Functional Seats (+$1,600, included with ZPX or ZMP)", price: 1600, dependency: "" } ] }, M70: { basePrice: 111500, vehicleName: "iX M70", exteriorOptions: [ { value: "300", label: "300 Alpine White (Standard)", price: 0, dependency: "" }, { value: "416", label: "416 Carbon Black Metallic", price: 0, dependency: "" }, { value: "475", label: "475 Black Sapphire Metallic (Standard)", price: 0, dependency: "" }, { value: "A90", label: "A90 Dark Graphite Metallic", price: 0, dependency: "" }, { value: "A96", label: "A96 Mineral White Metallic (Standard)", price: 0, dependency: "" }, { value: "C3N", label: "C3N Storm Bay Metallic (+$1,950)", price: 1950, dependency: "" }, { value: "C3Z", label: "C3Z Tanzanite Blue II Metallic (+$1,950)", price: 1950, dependency: "" }, { value: "C4F", label: "C4F Arctic Race Blue Metallic (Standard)", price: 0, dependency: "" }, { value: "C57", label: "C57 Aventurin Red Metallic (Standard)", price: 0, dependency: "" }, { value: "C7A", label: "C7A Dune Grey Metallic (Standard)", price: 0, dependency: "" }, { value: "C64", label: "C64 Frozen Deep Grey Metallic (+$3,600)", price: 3600, dependency: "" }, { value: "MS", label: "MS M Special Blue Metallic (+$2,500)", price: 2500, dependency: "" } ], interiorOptions: [ { value: "SC", label: "SC Leather, Olive Leaf Tanned (+$3,500)", price: 3500, dependency: "" }, { value: "SCIC", label: "SCIC Castanea Chestnut Perforated Leather (Standard)", price: 0, dependency: "" }, { value: "MLeather", label: "M Special Leather (+$4,000)", price: 4000, dependency: "" } ], packages: [ { id: "zdy", label: "ZDY Driving Assistance Professional Package (+$2,550)", price: 2550 }, { id: "zpx", label: "ZPX Executive Package (+$4,400)", price: 4400 } ], options: [ { id: "wheels", type: "select", label: "Wheels", options: [ { value: "1GQ", label: '20" Aero Frozen Dark Grey 1002 Wheels (Standard)', price: 0 }, { value: "1LB", label: '22" Aero Bicolor 1021 Wheels (+$1,800)', price: 1800 }, { value: "1LF", label: '21" Aero Bicolor 1012 Wheels (+$800)', price: 800 } ] }, { id: "trailerHitch", type: "checkbox", label: "Trailer Hitch (+$650)", price: 650, dependency: "" }, { id: "diamondSurround", type: "checkbox", label: "Bowers & Wilkins Diamond Surround Sound System (+$3,400)", price: 3400, dependency: "" }, { id: "kidneyGrille", type: "checkbox", label: "Illuminated Kidney Grille (+$500, included in ZPP or ZPX)", price: 500, dependency: "" }, { id: "frontSeats", type: "checkbox", label: "453 Front Ventilated Seats (Standard)", price: 0, dependency: "", auto: true }, { id: "multiSeats", type: "checkbox", label: "4FM Multi-Functional Seats (Included)", price: 0, dependency: "", auto: true } ] } }; function populateSelect(selectElement, optionsArray) { selectElement.innerHTML = ""; optionsArray.forEach(function(opt) { let option = document.createElement("option"); option.value = opt.value; option.text = opt.label; option.setAttribute("data-price", opt.price); option.setAttribute("data-dependency", opt.dependency); selectElement.add(option); }); } function populatePackages(packagesArray) { let container = document.getElementById("packagesContainer"); container.innerHTML = ""; packagesArray.forEach(function(pkg) { let div = document.createElement("div"); div.className = "package-item"; let checkbox = document.createElement("input"); checkbox.type = "checkbox"; checkbox.id = pkg.id; checkbox.value = pkg.price; if (pkg.auto) { checkbox.checked = true; checkbox.disabled = true; } checkbox.onchange = updateConfigurator; let label = document.createElement("label"); label.htmlFor = pkg.id; label.textContent = pkg.label; div.appendChild(checkbox); div.appendChild(label); container.appendChild(div); }); } function populateOptions(optionsArray) { let container = document.getElementById("optionsContainer"); container.innerHTML = ""; optionsArray.forEach(function(opt) { if (opt.type === "select") { let label = document.createElement("label"); label.textContent = opt.label + ":"; container.appendChild(label); let select = document.createElement("select"); select.id = opt.id; select.onchange = updateConfigurator; opt.options.forEach(function(o) { let option = document.createElement("option"); option.value = o.value; option.text = o.label; option.setAttribute("data-price", o.price); select.add(option); }); container.appendChild(select); container.appendChild(document.createElement("br")); } else if (opt.type === "checkbox") { let checkbox = document.createElement("input"); checkbox.type = "checkbox"; checkbox.id = opt.id; checkbox.value = opt.price; if (opt.auto) { checkbox.checked = true; checkbox.disabled = true; } checkbox.onchange = updateConfigurator; let label = document.createElement("label"); label.htmlFor = opt.id; label.textContent = opt.label; container.appendChild(checkbox); container.appendChild(label); container.appendChild(document.createElement("br")); } }); } function populateForm(vehicleConfig) { let exteriorSelect = document.getElementById("exteriorColor"); populateSelect(exteriorSelect, vehicleConfig.exteriorOptions); let interiorSelect = document.getElementById("upholstery"); populateSelect(interiorSelect, vehicleConfig.interiorOptions); populatePackages(vehicleConfig.packages); populateOptions(vehicleConfig.options); } function getSelectPrice(id) { let select = document.getElementById(id); if (select && select.options[select.selectedIndex]) { return parseInt(select.options[select.selectedIndex].getAttribute("data-price")); } return 0; } function updateConfigurator() { let vehicleSelect = document.getElementById("vehicleSelect"); let selectedVehicle = vehicleSelect.value; let config = vehicleConfigs[selectedVehicle]; let basePrice = config.basePrice; let total = basePrice; let messages = []; document.getElementById("vehicleHeader").innerText = "Base Model: " + config.vehicleName + " (Base Price: $" + basePrice.toLocaleString() + ")"; let exteriorSelect = document.getElementById("exteriorColor"); let extOpt = exteriorSelect.options[exteriorSelect.selectedIndex]; let extPrice = parseInt(extOpt.getAttribute("data-price")); let extDependency = extOpt.getAttribute("data-dependency"); total += extPrice; if (selectedVehicle !== "M70") { if (extDependency === "requiresZMP" && !document.getElementById("zmp")?.checked) { messages.push("The selected exterior color requires the ZMP M Sport Package."); } if (extDependency === "notWithZMP" && document.getElementById("zmp")?.checked) { messages.push("The selected exterior color cannot be combined with the ZMP M Sport Package."); } } let interiorSelect = document.getElementById("upholstery"); let intOpt = interiorSelect.options[interiorSelect.selectedIndex]; let intPrice = parseInt(intOpt.getAttribute("data-price")); let intDependency = intOpt.getAttribute("data-dependency"); total += intPrice; if (selectedVehicle !== "M70") { if (intDependency === "requiresZMP" && !document.getElementById("zmp")?.checked) { messages.push("The selected interior upholstery requires the ZMP M Sport Package."); } if (intDependency === "notWithZMP" && document.getElementById("zmp")?.checked) { messages.push("The selected interior upholstery cannot be combined with the ZMP M Sport Package."); } } config.packages.forEach(function(pkg) { let elem = document.getElementById(pkg.id); if (elem && elem.checked) { total += parseInt(elem.value); } }); if (selectedVehicle === "xDrive60") { let zdy = document.getElementById("zdy")?.checked; let zpp = document.getElementById("zpp")?.checked; let zpx = document.getElementById("zpx")?.checked; if (zdy && !(zpp || zpx)) { messages.push("ZDY Driving Assistance Professional Package requires selecting either the ZPP Premium or ZPX Executive Package."); } if (zpp && zpx) { messages.push("ZPX Executive Package cannot be ordered with ZPP Premium Package."); } } config.options.forEach(function(opt) { let elem = document.getElementById(opt.id); if (!elem) return; if (elem.type === "checkbox" && elem.checked) { total += parseInt(elem.value); if (opt.id === "trailerHitch") { if (selectedVehicle !== "M70" && !document.getElementById("zmp")?.checked) { messages.push("The Trailer Hitch option requires the ZMP M Sport Package."); } } } else if (elem.tagName.toLowerCase() === "select") { total += getSelectPrice(opt.id); } }); let summaryHTML = "<p>Base Price: $" + basePrice.toLocaleString() + "</p>"; summaryHTML += "<p>Exterior Color Extra: $" + extPrice.toLocaleString() + "</p>"; summaryHTML += "<p>Interior Upholstery: $" + intPrice.toLocaleString() + "</p>"; config.packages.forEach(function(pkg) { let elem = document.getElementById(pkg.id); if (elem && elem.checked) { summaryHTML += "<p>" + pkg.label + ": $" + parseInt(elem.value).toLocaleString() + "</p>"; } }); // Use a Set to process each standalone option only once. let processedOptions = new Set(); config.options.forEach(function(opt) { if (processedOptions.has(opt.id)) return; processedOptions.add(opt.id); let elem = document.getElementById(opt.id); if (!elem) return; if (elem.type === "checkbox" && elem.checked) { summaryHTML += "<p>" + opt.label + ": $" + parseInt(elem.value).toLocaleString() + "</p>"; } else if (elem.tagName.toLowerCase() === "select") { let price = getSelectPrice(opt.id); summaryHTML += "<p>" + opt.label + ": $" + price.toLocaleString() + "</p>"; } }); summaryHTML += "<h3>Total: $" + total.toLocaleString() + "</h3>"; document.getElementById("pricingSummary").innerHTML = summaryHTML; let messageHTML = ""; messages.forEach(function(msg) { messageHTML += "<p>" + msg + "</p>"; }); document.getElementById("messages").innerHTML = messageHTML; if (document.getElementById("kidneyGrille")) { if (document.getElementById("zpp")?.checked || document.getElementById("zpx")?.checked) { document.getElementById("kidneyGrille").checked = false; document.getElementById("kidneyGrille").disabled = true; } else { document.getElementById("kidneyGrille").disabled = false; } } if (document.getElementById("multiSeats")) { if (document.getElementById("zpx")?.checked || document.getElementById("zmp")?.checked) { document.getElementById("multiSeats").checked = false; document.getElementById("multiSeats").disabled = true; } else { document.getElementById("multiSeats").disabled = false; } } } function onVehicleChange() { let vehicleSelect = document.getElementById("vehicleSelect"); let selectedVehicle = vehicleSelect.value; let config = vehicleConfigs[selectedVehicle]; populateForm(config); updateConfigurator(); } window.onload = function() { document.getElementById("vehicleSelect").onchange = onVehicleChange; onVehicleChange(); }; </script> </body> </html> Last edited by lookielou22; 02-18-2025 at 03:47 AM.. Reason: Updating configurator web app code |
02-19-2025, 04:44 PM | #44 |
Major
![]() 1470
Rep 1,032
Posts
Drives: 2025 BMW iX 50
Join Date: Jan 2023
Location: Los Angeles
|
Works on a Mac too. Copy and paste the code into TextEdit, and then select [Format] - [Make Plain Text] and save the file. Rename the file to [anyfilename.html] then double click to open in your browser.
|
Appreciate
2
dauch6.00 lookielou224.50 |
Post Reply |
Bookmarks |
Thread Tools | Search this Thread |
|
|