我正在尝试将范围滑块与两个文本输入控件绑定。理想情况下,我希望更改范围滑块、文本输入或 viewModel 属性,以直观且同步地更新所有这些控件。但这是我的观察。
- 通过拖动拇指更改范围滑块值,更新 viewModel 和输入文本控件值
- 在 UI 中编辑输入字段中的文本会更新 viewModel,但不会更新 rangeSlider。
- 更改控制台中的范围属性,例如。viewModel.range[0]=-10,不更新文本输入值或范围滑块。
- 以编程方式更改范围滑块值 (slider.value([-7. 10])) 不会更新 viewModel 或输入文本。
这是代码:
Javascript
<script type="text/javascript">
var viewModel = kendo.observable({
range: [-7, 3]
});
$(document).ready(function() {
var slider = $("#slider").kendoRangeSlider({
min: -10,
max: 10
});
kendo.bind($(".QFContent"), viewModel);
});
</script>
HTML
<div class='QFContent'>
<div class='QFReadout QFLowerBound tab-ctrl-formatted-border-hover'>
<div class='QFReadout QFLowerBound tab-ctrl-formatted-border-hover'>
<span class='readoutText tab-ctrl-formatted-fixedsize'></span>
<input data-bind="value: range[0]" data-value-update="keyup" type='text'></input>
</div>
<div class='QFReadout QFUpperBound tab-ctrl-formatted-border-hover'>
<span class='readoutText tab-ctrl-formatted-fixedsize'></span>
<input data-bind="value: range[1]" data-value-update="keyup" type='text'></input>
</div>
<div id="slider" class='QFSlider QFBar' data-bind="value : range">
<input></input>
<input></input>
</div>
</div>