jQuery代码看起来像这样,工作正常(可能看起来有点分类,所以请告诉我,我也会改变它):jsFiddle
jQuery的:
$('.inputs').on('keyup',function(){
$(this).parent().not(this).find('.inputs').val($(this).val());
}
);
HTML:
<div>
<input type="text" class="inputs" value="hello">
<input type="text" class="inputs" value="John">
</div>
如何为knockout.js重写此代码?
谢谢。
答案 0 :(得分:1)
将它绑定到同一个observable:
<强> HTML 强>
<div>
<input type="text" class="inputs" id="first" data-bind="value:foobar,valueUpdate:'keyup'">
<input type="text" class="inputs" id="second" data-bind="value:foobar,valueUpdate:'keyup'">
</div>
<强>视图模型强>
function AppViewModel() {
this.foobar = ko.observable('hello');
}
ko.applyBindings(new AppViewModel());
我使用valueUpdate
绑定实时更新输入而不是模糊(另请参阅:https://stackoverflow.com/a/4391419/664108)
答案 1 :(得分:1)
看一下下面的代码片段,它可以和ko一起使用。
var value = "Hello John";
var viewModel = {
Name: ko.observable(value)
};
ko.applyBindings(viewModel);
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/2.0.0/knockout-min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<input type="text" data-bind="value:Name" class="inputs" id="first">
<input type="text" data-bind="value:Name" class="inputs" id="second">
</div>
<span data-bind="text: Name"> </span>
希望,您将使用更多数据执行此操作。在这种情况下,请查看this sample,它会告诉您如何支持更多数据。
有关更多常见问题,请访问jqfaq.com