jQuery Mobile 用のレンジ スライダーがあります。オートコンプリートの結果と 2 つのスライダーの値を組み合わせたいのですが、スライダーから現在選択している値ではなく、スライダーから定義済みの HTML 値しか取得できないようです。
JS は次のとおりです。
$(function() {
function log(message) {
$("<div/>").text(message).prependTo("#log");
$("#log").attr("scrollTop", 0);
}
$.ajax({
url: "drycker.xml",
dataType: "xml",
success: function(xmlResponse) {
var data = $("artikel", xmlResponse).map(function() {
return {
value: $("Namn", this).text(),
id: $("Artikelid", this).text(),
price: $("Prisinklmoms", this).text(),
interval: $("#range-1a").val()
};
}).get();
$("#birds").autocomplete({
source: data,
minLength: 0,
select: function(event, ui) {
log(ui.item ?
"Vald produkt: " + ui.item.value + ", artikel-ID: " + ui.item.id + ", pris: " + ui.item.price + ", prisintervall vald:" + ui.item.interval:
"Ingen vald produkt, sökningen var " + this.value);
}
});
}
});
});
および必要な HTML:
<div data-role="rangeslider">
<label for="range-1a">Prisintervall:</label>
<input name="range-1a" id="range-1a" min="0" max="500" value="20" type="range">
<label for="range-1b">Prisintervall:</label>
<input name="range-1b" id="range-1b" min="0" max="500" value="200" type="range">
</div>
問題は
間隔: $("#range-1a").val()#range-1a が最初から設定されているため、値 20 のみが返されます。私は新しい価値を得ることはありません。何か案は?