Я работал над раскрывающимся списком и хотел, чтобы результаты, показанные во втором раскрывающемся списке, были отфильтрованы в соответствии с параметром, выбранным в первом раскрывающемся списке.
Мой файл E JS выглядит следующим образом: -
<div class="form-group">
<label for="">Category</label>
<select id="list" name="mainCategory" id="maincategory-dropdown" onchange="getSelectValue()" class="form-control">
<% mainCategories.forEach(function(cat){ %>
<option value="<%= cat.slug %>"
<% if (cat.slug == mainCategory) { %>
selected="selected"
<% } %>
><%= cat.title %></option>
<% }); %>
</select>
</div>
<div class="form-group">
<label for="">Subcategory</label>
<select name="category" id="category-dropdown" class="form-control">
<% categories.forEach(function(cat){ %>
<option value="<%= cat.slug %>"
<% if (cat.slug == category) { %>
selected="selected"
<% } %>
><%= cat.title %></option>
<% }); %>
</select>
</div>
Я хочу, чтобы значения в раскрывающемся списке подкатегорий отображались в соответствии с параметром, выбранным в раскрывающемся списке категорий.
Я получаю значения из серверной части. Файл JS выглядит следующим образом: -
router.get('/edit-product/:id',ensureAuthenticated, function (req, res) {
MainCategory.find(function(err,mainCategories){
Category.find(function (err, categories) {
Product.findById(req.params.id, function (err, p) {
if (err) {
console.log(err);
res.redirect('/admin/products');
} else {
var galleryDir = 'public/assets/img/products/' + p._id + '/gallery';
// var recommendationDir = 'public/assets/img/products/' + p._id + '/recommendation';
var galleryImages = null;
// var recommendationImages = null;
fs.readdir(galleryDir, function (err, files) {
if (err) {
console.log(err);
} else {
galleryImages = files;
// console.log("The gallery image is" + galleryImages)
//console.log(p);
res.render('admin/edit_product', {
product:p,
title: p.title,
description: p.description,
categories: categories,
category: p.category.replace(/\s+/g, '-').toLowerCase(),
mainCategories: mainCategories,
mainCategory: p.mainCategory.replace(/\s+/g, '-').toLowerCase(),
mainImage: p.mainImage,
thumbImage1 : p.thumbImage1,
thumbImage2 : p.thumbImage2,
thumbImage3: p.thumbImage3,
recommendationImage1: p.recommendationImage1,
recommendationImage2: p.recommendationImage2,
recommendationImage3: p.recommendationImage3,
recommendationUrl1: p.recommendationUrl1,
recommendationUrl2: p.recommendationUrl2,
recommendationUrl3: p.recommendationUrl3,
galleryImages: galleryImages,
id: p._id,
productID:p.productID
});
}
});
}
});
});
})
});
Я немного застрял в нем. Пожалуйста, помогите мне