我遇到了Knockout和jQueryMobile以及滑块的问题。没有jQuery mobile,它们运行良好 - 使用jQuery Mobile,它们不会更新(好像它们已经在KnockOut中丢失了它们的绑定)。
总价值标签应更新,具体取决于滑块位置。
演示:
使用 jQuery Mobile.js小提取:http://jsfiddle.net/mtait/Ujg29/
小提琴没有 jQuery Mobile.js:http://jsfiddle.net/mtait/XVDTQ/
HTML是:
<p class='grandTotal'>Total value: <span data-bind='text: extrasTotal()'> </span>
<br />
<br />
<!-- ko foreach: extras -->
<label for="slider1"><span data-bind="text: description"></span> $<span data-bind="text: price"></span> each - how many would you like</label>
<br />
<input type="range" class="slide" min="0" max="10" data-bind="value: count">
<br />
<!-- /ko -->
Javascript是:
var Cart = function () {
var self = this;
self.extras = ko.observableArray([]);
self.extrasTotal = ko.computed(function () {
var extras = self.extras();
var total = 0;
ko.utils.arrayForEach(self.extras(), function (extra) {
var count = extra.count();
total = total + (count * extra.price);
});
return total;
});
self.extras([{
description: "Teddy bear",
price: "13.99",
count: ko.observable(0),
id: "1"
}, {
description: "Mobile phone",
price: "645.00",
count: ko.observable(0),
id: "6"
}, {
description: "Morning papers",
price: "3.00",
count: ko.observable(0),
id: "8"
}]);
};
var cart = new Cart();
ko.applyBindings(cart);
有人可以帮我解决这个问题吗?
使用的代码是:
更新我在这里看到了答案:Knockoutjs, jquery mobile slider - 但不确定如何更正我的代码以使其正常工作。 谢谢,
标记