2016-07-21 4 views
1

スパン内に数値を含むこのビットがありますが、チェックボックスをクリックすると基本値から1が減算されます。合計値は、フォームが提出された場合でもこれを達成する方法は、チェックボックスがオフになっていない限り、スパンの差額は同じままですか?チェックボックスがオフになるまで、スパンから減算された値をクッキーに保存する方法

<input type="checkbox" id="featured" name="featured" <?php echo $checked;?> /> (<span id="credit">10</span>) 

JS:

<script> 
$(function() { 
    $('#featured').change(function() { 
    var currentValue = parseInt($('#credit').text()); 
    var newValue = currentValue + ($(this).prop('checked') ? -1 : 1); 
    $('#credit').text(newValue); 
    }); 
}); 
</script> 

あなたの時間と助けをいただければ幸いです

HTMLは、例えば、値の10とここにあります。

+2

_ "基本的には、フォームが送信されても​​これを達成する方法は、チェックボックスをオフにしない限り、スパンの差し引き値は同じですか?" –

+0

明確にしてください。 – theblindprophet

+0

現在のデフォルト値は10です。今起きていることは、チェックボックスをチェックすると値が9になるが、フォームの送信時にはチェックボックスはチェックされたままであるが、デフォルトの10が再び10に戻り、ボックスをオフにすると、代わりに11になる – lalthung

答えて

0
<script> 
$(function() { 
    $('#featured').change(function() { 
    var savedValue = localStorage.checkboxValue; 
    var currentValue = savedValue ? parseInt(savedValue) : parseInt($('#credit').text()); 
    var newValue = currentValue + ($(this).prop('checked') ? -1 : 1); 
    $('#credit').text(newValue); 
    localStorage.checkboxValue = newValue; 
    }); 
}); 
</script> 
+0

フォームを送信した後に値が戻ってきていて、チェックボックスをオフにすると91:D – lalthung

+0

ええ、私はそのコードをまったくテストしなかったし、本当にあなたのロジックを微調整しようとしました。この考え方は、チェックボックスの値をローカルストレージに保存することです。コードの先頭で、値がローカルストレージに存在するかどうかをチェックします。使用している場合はそれを使用し、そうでない場合はデフォルトを使用します。最後に新しい値を保存します。編集:私はsavedValueでparseIntを使用していない – instantaphex

関連する問題