Knockout绑定不能与jQuery Mobile一起使用

时间:2013-09-17 14:04:23

标签: javascript jquery jquery-mobile knockout.js

我遇到了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);

有人可以帮我解决这个问题吗?

使用的代码是:

  • jQuery 1.10.1
  • jquery.mobile-1.3.2.css
  • 敲除2.2.1.js

更新我在这里看到了答案:Knockoutjs, jquery mobile slider - 但不确定如何更正我的代码以使其正常工作。 谢谢,

标记

0 个答案:

没有答案