-> Table scan on <temporary> (actual time=52.3..52.3 rows=36 loops=1)
-> Aggregate using temporary table (actual time=52.3..52.3 rows=36 loops=1)
-> Nested loop inner join (cost=1768 rows=5498) (actual time=0.0821..50.1 rows=7290 loops=1)
-> Nested loop inner join (cost=506 rows=344) (actual time=0.0685..19.8 rows=2920 loops=1)
-> Filter: (p.`status` = 1) (cost=386 rows=344) (actual time=0.045..14.4 rows=3038 loops=1)
-> Table scan on p (cost=386 rows=3436) (actual time=0.0419..14 rows=3436 loops=1)
-> Single-row covering index lookup on pc using PRIMARY (product_id = p.product_id, category_id = 907) (cost=0.25 rows=1) (actual time=0.00152..0.00157 rows=0.961 loops=3038)
-> Filter: (pc2.category_id in (866,879,880,881,882,883,886,889,890,891,892,893,896,378,385,297,115,119,118,149,148,154,121,163,122,83,171,71,45,175,81,298,59,26,62,921)) (cost=0.476 rows=16) (actual time=0.00247..0.01 rows=2.5 loops=2920)
-> Covering index lookup on pc2 using PRIMARY (product_id = p.product_id) (cost=0.476 rows=32) (actual time=0.00118..0.00704 rows=33.4 loops=2920).woocommerce ul.products li.product a img {
margin: 0;
}position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: contain;.woocommerce ul.products li.product .un-loop-thumbnail {
position: relative;
display: block;
} (function formActions() {
const form = document.querySelector('form[name="test"]');
if (!form) return;
form.onsubmit = function(e) {
e.preventDefault();
return validateSelects(this);
};
})()
function validateSelects(form) {
let places = form.querySelectorAll('input[name="place"]');
let selects = form.querySelectorAll('.city__select');
form.querySelectorAll(".error").forEach((l) => l.remove());
places.forEach((place, i) => place.checked && selects[i] && !selects[i].value
? selects[i].insertAdjacentHTML('afterend','<span class="error">This field is required.</span>')
: void 0
);
}