Я работаю с WordPress, переопределив файл cart-shipping.php
(WooCommerce). После заполнения выбора с опциями:
<?php
if (strpos($chosen_method, 'pickup_') !== false) {
printf('<li><select name="select" id="method_pickups" onchange="handlePickup()">');
foreach ($select as $key => $value) {
printf('<option value="'.$key.'">'.$value.'</option>');
}
printf('</select></li>');
}
?>
Я хочу установить выбранное значение, получив его в хранилище сеанса, используя javascript, например:
document.addEventListener('DOMContentLoaded', () => {
const method_pickups = document.querySelector('#method_pickups');
method_pickups.value = sessionStorage.getItem('method_pickups_soda');
handlePickup();
});
const handlePickup = () => {
const method_pickups = document.querySelector('#method_pickups');
const billing_pickups = document.querySelector('#billing_pickups');
sessionStorage.setItem('method_pickups_soda', method_pickups.value);
if (!window.location.href.includes('carrito')) {
billing_pickups.value = method_pickups.value;
const index = method_pickups.selectedIndex;
const display = document.querySelector('#display_pickup');
display.value = method_pickups.options[index].text;
}
};
Проблема в том, что даже если значение его изменяется (потому что просто console.log()
отображает новое значение), это визуально та же опция. Что здесь происходит?
Заранее спасибо и извините за мой плохой английский sh.