我有一个用于 jQuery Mobile 的范围滑块。我想将自动完成的结果和两个滑块值结合起来,但我似乎只从滑块中获取预定义的 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()只给我值 20 因为这是 #range-1a 从一开始就设置的值。我永远不会得到新的价值。有任何想法吗?