Я работаю на сайте woocommerce, где я использую продукты в качестве моделей автомобилей. Я пытаюсь сгруппировать значения / продукты опций в optgroups. В настоящее время у меня есть варианты / продукты, сохраненные как
AUDI#A4 (2003-2009)
AUDI#A5 (2003-2009)
VW#Passat B7 (2003-2009)
VW#Passat B8 (2003-2010)
С JS они должны быть сгруппированы следующим образом:
AUDI
A4 (2003-2009)
A5 (2003-2009)
VW
Passat B7 (2003-2009)
Passat B8 (2003-2010)
Это часть JS, которую я использую для получения продукты и сделать группировку:
addProductsSelect(productIds){
var select = this.element.find('.pcd-select.pcd-default').last();
select[0].disabled = false;
select[0].options[0] = new Option(this.productDefOptionTitle, '');
var pId;
var l = productIds.length;
var tempObj = {};
productIds.forEach(val =>{
var newVal = this.products[val].title.split("#");
if (tempObj[newVal[0]] === undefined) {
tempObj[newVal[0]] = [newVal[1]]
}else{
tempObj[newVal[0]].push(newVal[1])
}
})
for (const val in tempObj) {
let createOpt = document.createElement("optgroup");
createOpt.setAttribute("label",val)
tempObj[val].forEach(value =>{
let option = document.createElement("option");
option.innerText = (value);
option.value = this.productsIds;
createOpt.appendChild(option);
})
select[0].appendChild(createOpt);
}
Проблема в том, что я не могу получить option.value, которое должно быть productID.
Может кто-нибудь помочь, пожалуйста, как получить идентификатор продукта