jquery スライダーを使用して価格帯を調整しようとしています。
ユーザーがスライダーを選択してスライダーの片側を調整すると、スライダーの値がコントローラーに渡されて実行されます。パラメーターを url に追加してページを更新します。
何が問題なのですか: ユーザーがスライダーのいずれかの側を調整すると、パラメーターは正しく実行され、正しく実行されますが、ページを更新した後、スライダーの範囲の値がデフォルト値になり、これは望ましくありません。パラメータ値(price_min、price_max)に
var PropertyPriceFilter = { min:100000, max:10000000 };
$("#filtered-price").val((PropertyPriceFilter.min) + " - " + (PropertyPriceFilter.max));
$("#property_price").slider({
range:true,
min:PropertyPriceFilter.min,
max:PropertyPriceFilter.max,
values:[ 100000, 10000000 ], //dynamically change values using values present in the params["price_min"] & params["price_max"]
slide:function (event, ui) {
$("#filtered-price").val(("Rs." + ui.values[ 0 ]) + " - " + "Rs." + (ui.values[ 1 ]))
PropertyPriceFilter.min = ui.values[ 0 ]
PropertyPriceFilter.max = ui.values[ 1 ]
window.location += '&price_min=' + PropertyPriceFilter.min + '&price_max=' + PropertyPriceFilter.max;
}
});
__ _ _ _これは、値が params から変更される if else 条件です。論理的には正しいのですが、まだ機能していません。理由はわかりません。
if ((params["price_min"] != null) || (params["price_max"] != null))
{
if ((params["price_min"] != null) && (params["price_max"] = null)) {
var price_min = parseInt(params["price_min"])
var price_max = 10000000
}
else if ((params["price_min"]) = null && (params["price_max"]) != null) {
var price_min = 100000
var price_max = parseInt(params["price_max"])
}
else if ((params["price_min"]) != null && (params["price_max"]) != null) {
var price_min = parseInt(params["price_min"])
var price_max = parseInt(params["price_max"])
}
}
else
{
var price_min = 100000
var price_max = 10000000
}