ユーザーがチェックボックスから何かを選択した場合、スライダーを「フリーズ」する必要があります。私のコードは次のとおりです。
$('#slider').slider({
range: 'min',
value: 20,
min: 0,
max: 500,
slide: function(event, ui) {
$('input#amount').val('$' + ui.value);
}
});
$('div.checkboxes').children('p').children('input').each(function() {
$(this).change(function() {
var amount = $(this).attr('data-amount'),
curr = $('input#amount').val().replace('$',''),
newPrice = parseFloat(curr)+parseFloat(amount),
oldPrice = parseFloat(curr)-parseFloat(amount);
if($(this).is(':checked')) {
$('#slider').slider({
'value': newPrice
});
$('input#amount').val('$' + newPrice);
} else {
$('#slider').slider({
'value': oldPrice
});
$('input#amount').val('$' + oldPrice);
}
})
})
ご覧のとおり、1 つ以上のチェックボックスをオンにすると、ある範囲にスライドします。しかし、私の問題は、ユーザーが各チェックボックスをクリックしてから、手動で価格を下げたときです。これを防ぐにはどうすればよいですか?