jQuery UI の範囲スライダーを設定しました。スライダー コントロールを移動すると、コードは範囲の下限値を非表示の入力に挿入し、範囲の上限値も非表示の入力に挿入します。これらの値は、スライダーが移動するにつれて常に変化しますが、問題があります。たとえば、下限値が 60,000 ポンドで止まる場合、非表示の div に挿入される値は 40,000 ポンドになります。同期は常に 1 ポジションです。これは、修正する必要がある最初の問題です。私のコードでは、値は #minPrice と #maxPrice として設定されています。
2 番目の問題は、フォームの送信時に発生します。非表示の入力の値を取得し、(フォーム送信後のページの読み込み時に) それらを、スライダーの範囲 (40,000 から 60,000 など) を示すテキスト入力に戻す必要があります。この入力には、コード内で #amount の ID があります。
これが私のコードです:
// Set increments for sale slider prices
var increments = ['0', '20,000', '40,000', '60,000', '80,000', '100,000', '120,000', '140,000', '160,000', '180,000', '200,000', '220,000', '240,000', '260,000', '280,000', '300,000', '320,000', '340,000', '360,000', '380,000', '400,000', '420,000', '440,000', '460,000', '480,000', '500,000', '520,000', '540,000', '560,000', '580,000', '600,000', '620,000', '640,000', '660,000', '680,000', '700,000', '720,000', '740,000', '760,000', '780,000', '800,000', '820,000', '840,000', '860,000', '880,000', '900,000', '920,000', '940,000', '960,000', '980,000', '1,000,000', '1,100,000', '1,200,000', '1,300,000', '1,400,000', '1,500,000', '1,600,000', '1,700,000', '1,800,000', '2,000,000']
$('#sliderPriceSale').slider({
range: true,
min: 0,
step: 1,
max: 59,
values: [4, 15],
slide: function (event, ui) {
$('#amount').val(increments[ui.values[0]] + " to " + increments[ui.values[1]]);
var minPrice = $("#sliderPriceSale").slider("values", 0);
$('#minPrice').val(increments[minPrice]);
var maxPrice = $("#sliderPriceSale").slider("values", 1);
$('#maxPrice').val(increments[maxPrice]);
}
});
$('#amount').val(increments[$('#sliderPriceSale').slider("values", 0)] + " to " + increments[$('#sliderPriceSale').slider("values", 1)]);
どんな助けでも大歓迎です。