dev*_*ine 2 html javascript jsfiddle knockout.js
我正在尝试在选中复选框时禁用输入框.我正在尝试使用Knockoutjs来完成这项工作,但它似乎不起作用.
这是我的HTML:
<input id="input1" type="text" placeholder="Something Here"
data-bind="disable: makeInvalid"/>
<input type="checkbox" id="chk1" data-bind="checked: makeInvalid"/>
<label>Make Textarea Invalid</label>
Run Code Online (Sandbox Code Playgroud)
这是我的js:
var viewModel = {
makeInvalid : ko.observable(false),
};
ko.applyBindings(viewModel, document.getElementById("chk1"));
Run Code Online (Sandbox Code Playgroud)
我的小提琴在这里:
https://jsfiddle.net/devEngine/3ag0881z/2/
我试图遵循敲除关于禁用绑定的说明,他们说这与启用绑定完全相同,只是反过来:
http://knockoutjs.com/documentation/enable-binding.html
谁能告诉我我做错了什么?
任何帮助将非常感激.
这个是一个非常简单的解决方案.您的apply绑定仅使用id chk1命中元素.observable的值仅限于该范围.只需删除你的第二个参数,ko.applyBindings它就可以正常工作.
var viewModel = {
makeInvalid : ko.observable(false),
};
ko.applyBindings(viewModel);Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.2/knockout-min.js"></script>
<input id="input1" type="text" placeholder="Something Here"
data-bind="disable: makeInvalid"/>
<input type="checkbox" id="chk1" data-bind="checked: makeInvalid"/>
<label>Make Textarea Invalid</label>Run Code Online (Sandbox Code Playgroud)