ラジオ ボタンが変更されたときに div を更新するスクリプトがいくつかあります。さらに、選択したラジオの値を sessionStorage に保存して、ページに再度アクセスしたときに対応するラジオ ボタンが選択されたままになるようにします。
私の問題は、sessionStorage スクリプトと更新スクリプトを使用すると、更新スクリプトが機能しなくなり、セッションに保存された値が保持されることです。
私は特にこの行を意味します:
inhalt_time = $("input[type='radio'][name='chooseTime']:checked").val();
その行を削除すると:
$("input[type='radio'][name='chooseTime']").val(chosen_time).prop('checked', true);
更新スクリプトが再び機能します。
この競合を回避する方法を知っている人はいますか?
これが私のhtmlです:
<div class="chooseTime">
Bitte wählen Sie ihr gewünschte Lieferzeit.
<label class="radio">
<input type="radio" name="chooseTime" value="06:00 Uhr - 10:00 Uhr" />
06:00 Uhr - 10:00 Uhr
</label>
<label class="radio">
<input type="radio" name="chooseTime" value="10:00 Uhr - 14:00 Uhr" />
10:00 Uhr - 14:00 Uhr
</label>
<label class="radio">
<input type="radio" name="chooseTime" value="15:00 Uhr - 17:00 Uhr" />
15:00 Uhr - 17:00 Uhr
</label>
</div>
更新のための私のjquery:
$('.chooseTime').on('change', 'input[type=radio]', function() {
updateAnzeige();
});
function updateAnzeige() {
inhalt_time = $("input[type='radio'][name='chooseTime']:checked").val();
if(inhalt_time === undefined) {
inhalt_time = "<span class='red'>Bitte wählen Sie eine gewünschte Lieferuhrzeit aus.</span>";
}
$('.anzeige').html(inhalt_time);
}
sessionStorage の私の jquery:
if(sessionStorage.getItem("lieferzeitpunktart") == "Custom") {
chosen_time = sessionStorage.getItem("lieferzeitpunkt_time");
$("input[type='radio'][name='chooseTime']").val(chosen_time).prop('checked', true);
}