「30%」、「20%」などの数値のチェックボックス項目のリストがあり、ユーザーが2つのボックスのみをチェックして比較し、正または負の差の値を表示できるようにしたい。私は次のコードから始めました:
HTML:
<input type="checkbox" class="box" name="metrics1" value="" />
<label for="metrics1">10%</label>
<input type="checkbox" class="box" name="metrics1" value="" />
<label for="metrics1">20%</label>
<input type="checkbox" class="box" name="metrics1" value="" />
<label for="metrics1">40%</label>
<input type="checkbox" class="box" name="metrics1" value="" />
<label for="metrics1">60%</label>
<input type="checkbox" class="box" name="metrics1" value="" />
<label for="metrics1">80%</label>
<div id="resultsection"></div>
JS:
$('input[type="checkbox"]').live('click', function() {
var selected = '';
$('input[type="checkbox"]').each(function(index, value) {
if (this.checked) {
selected += ($('label[for="'+this.name+'"]').html() + ', ');
}
});
if (selected.length > 0) {
selected = "You have selected the following: <br /> " + selected.substring(0,selected.length-2) + '.<br />';
} else {
selected = 'No metrics selected.';
}
$('#resultsection').html(selected);
});
これは、選択したアイテムの値を#resultsection内に表示します。必要なのは、2つの値のみを取得し、それらを2つのCookie変数として保存して、ページのリロード後にそれらを利用することです。次に、ボタンを追加して、(first-value --second-value =%result)のように2つの値を比較できます。
よろしくお願いします。