为什么滑块在错误的位置开始?

时间:2016-10-18 12:52:24

标签: jquery jquery-mobile knockout.js

我试图将滑块值传递给span并动态更改它。它工作正常,但是当我开始页面时,滑块按钮移位错误的值。我该如何解决这个问题? 这是我的HTML

<div data-role="page">
    <div data-role="header">
        <h1>Slider Control</h1>
    </div>

    <div data-role="main" class="ui-content">

            <label for="points">Points:</label>
            <input type="range" data-highlight="true"  data-bind="attr: {'id': id, 'min': min, 'max': max}, value: value, valueUpdate: 'input'" />
            Net: <span data-bind="text: value"></span>
    </div>

这是my fiddle

修改

这是滑块的示例,滑块从其位置开始。 Fiddle

1 个答案:

答案 0 :(得分:0)

看起来jQuery mobile在 knockout设置其值之前初始化滑块

快速而肮脏的解决方案:(不推荐)在应用绑定后手动触发更新。

ko.applyBindings(viewModel);
$("input").trigger("change");

https://jsfiddle.net/avk9dyw4/

真正的解决方案:在之前应用绑定 jquery mobile初始化或创建一个自定义绑定处理程序,负责初始化窗口小部件和设置属性的顺序。