これが私の状況です。自宅の国を選択するドロップダウンがあります。
クッキーがない場合、クッキーのデフォルトを「米国」に設定し、ユーザーが新しいタブでリンクを開いてチェックアウトページに移動し、他の国をフィルタリングして、選択した国のみをドロップダウン選択で表示すると、すべて問題ありませんが、最初のタブでは2 番目のタブで国を DE に変更します Cookie は DE ですが、国はまだ US です。
2 つのオプションがあります。
<select id="country">
<option>Select Country</option>
<option value="US">Select Country</option>
</select>
私がやりたいことは
function readCookie(k){return(document.cookie.match('(^|; )'+k+'=([^;]*)')||0)[2]}
または、ここで説明されているような Cookie を読み取るその他の関数
document.getElementById('country').onchange = function () {
this.options.length = 0;
this.options[1] = new Option(readCookie('country'),readCookie('country'));
this.options[1].setAttribute("selected","selected");
}
それらは undefined を返しますが、プロファイルで調べると Cookie があります。基本的に、Cookieに基づいてオプションを更新したいだけです
私がする時
document.getElementById('country').onchange = function () {
alert(readCookie('country'); //returns undefined
}