Я работаю над приложением для покупок. Нужно добавить цветовую вариацию.
Я не хочу, чтобы была страница товаров с изображением для каждого цвета, но было выбрано одно изображение и раскрывающийся список цветов, а затем добавить их в корзину.
<div class="form-control">
<label for="color">Color</label>
<select name="color" id="color"
class="<%= validationErrors.find(e => e.param === 'color')
? 'invalid' : '' %>"
type="string"
name="color"
id="color"
value="<% if (editing || hasError) { %><%= product.color
%><% } %>">
<option value="brown">Brown</option>
<option value="red">Red</option>
<option value="blue">Blue</option>
<option value="black">Black</option>
</select>
Это работает, но не динамично.
Я пробовал это, но не работает:
<option value="0"> Please choose a color </option>
<% color.map(item=> { %>
<option value="<%= item.value%>"> <%= item.color %> </option>
<% }) %>
admin.js в контроллерах выглядит следующим образом
exports.postAddProduct = (req, res, next) => {
const title = req.body.title;
const image = req.file;
const price = req.body.price;
const color = req.body.color;
const size = req.body.size;
const description = req.body.description;
if (!image) {
return res.status(422).render('admin/edit-product', {
pageTitle: 'Add Product',
path: '/admin/add-product',
editing: false,
hasError: true,
product: {
title: title,
price: price,
color: color,
size: size,
description: description
},
errorMessage: 'Attached file is not an image.',
validationErrors: []
});
}
Спасибо