All things Shopify and commerce
I have this code below that doesn't work as it should, does anyone have any idea please how I can modify it so that the correct options appear when a particular model is selected?
<div style="text-align: center; margin: 50px 0;"> <h1>Alege telefonul tău</h1> <p>Selectează modelul de iPhone pentru a vedea husele disponibile:</p> </div> <!-- Dropdown cu modelele de iPhone --> <div style="text-align: center;"> <label for="iphone-model">Selectează modelul tău de iPhone:</label> <select id="iphone-model" name="iphone-model" onchange="filterProductsByModel()"> <option value="">-- Alege modelul --</option> <option value="iPhone 7/8">iPhone 7/8</option> <option value="iPhone X/XS">iPhone X/XS</option> <option value="iPhone 11">iPhone 11</option> <option value="iPhone 11 PRO">iPhone 11 PRO</option> <option value="iPhone 11 PRO Max">iPhone 11 PRO Max</option> <option value="iPhone 12">iPhone 12</option> <option value="iPhone 12 Mini">iPhone 12 Mini</option> <option value="iPhone 12 PRO">iPhone 12 PRO</option> <option value="iPhone 12 PRO Max">iPhone 12 PRO Max</option> <option value="iPhone 13">iPhone 13</option> <option value="iPhone 13 Mini">iPhone 13 Mini</option> <option value="iPhone 13 PRO">iPhone 13 PRO</option> <option value="iPhone 13 PRO Max">iPhone 13 PRO Max</option> <option value="iPhone 14">iPhone 14</option> <option value="iPhone 14 PRO">iPhone 14 PRO</option> <option value="iPhone 14 PRO Max">iPhone 14 PRO Max</option> <option value="iPhone 15">iPhone 15</option> <option value="iPhone 15 Plus">iPhone 15 Plus</option> <option value="iPhone 15 PRO">iPhone 15 PRO</option> <option value="iPhone 15 PRO Max">iPhone 15 PRO Max</option> </select> </div> <!-- Lista de produse filtrate --> <div id="product-list" style="margin-top: 50px;"> <h2>Produsele disponibile:</h2> <div id="products-container"> <!-- Produsele vor fi afișate aici --> </div> </div> <script> function filterProductsByModel() { var model = document.getElementById('iphone-model').value; var productsContainer = document.getElementById('products-container'); productsContainer.innerHTML = ''; if (model !== '') { fetch('/collections/all/products.json') .then(response => response.json()) .then(data => { var products = data.products; var filteredProducts = products.filter(product => { return product.variants.some(variant => variant.option1 === model); }); if (filteredProducts.length > 0) { filteredProducts.forEach(product => { var productHTML = ` <div class="product-item"> <h3>${product.title}</h3> <img src="${product.images[0].src}" alt="${product.title}" style="width:200px;"> <p>Preț: ${product.variants[0].price} Lei</p> <a href="/products/${product.handle}">Vezi detalii</a> </div> `; productsContainer.innerHTML += productHTML; }); } else { productsContainer.innerHTML = '<p>Nu există produse disponibile pentru acest model de iPhone.</p>'; } }); } } </script>
Learn how to build powerful custom workflows in Shopify Flow with expert guidance from ...
By Jacqui May 7, 2025Did You Know? May is named after Maia, the Roman goddess of growth and flourishing! ...
By JasonH May 2, 2025Discover opportunities to improve SEO with new guidance available from Shopify’s growth...
By Jacqui May 1, 2025