Javascript 敲除日期选择器绑定项不';不要禁用日期选择器
我有一个为日期选择器定制的knockoutJs绑定Javascript 敲除日期选择器绑定项不';不要禁用日期选择器,javascript,jquery,jquery-ui,knockout.js,datepicker,Javascript,Jquery,Jquery Ui,Knockout.js,Datepicker,我有一个为日期选择器定制的knockoutJs绑定 ko.bindingHandlers.valueAsDatePicker = {...} 当绑定的输入字段状态(已启用/已禁用)绑定到可观察的KO时,它不会启用/禁用日期选择器图标 HTML <input id="txtRequestedTo" type="text" placeholder="dd/mm/yyyy" data-bind="valueAsDatePicker: reqDateTo, disable: reqDateFr
ko.bindingHandlers.valueAsDatePicker = {...}
当绑定的输入字段状态(已启用/已禁用)绑定到可观察的KO时,它不会启用/禁用日期选择器图标
HTML
<input id="txtRequestedTo" type="text" placeholder="dd/mm/yyyy"
data-bind="valueAsDatePicker: reqDateTo, disable: reqDateFrom().length < 1" />
<input id="txtRequestedTo" type="text" placeholder="dd/mm/yyyy"
data-bind="valueAsDatePicker: reqDateTo, disable: reqDateFrom.disabled" />
如果元素被禁用,我希望日期选择器被禁用,反之亦然 这里的诀窍是以可观察的方式访问禁用的绑定,以便可以附加手动订阅。此时,禁用表达式的结果被传递到bindingHandler(通过allBindingAccessor) 一旦获得订阅,就可以调用DatePicker的禁用选项 HTML
<input id="txtRequestedTo" type="text" placeholder="dd/mm/yyyy"
data-bind="valueAsDatePicker: reqDateTo, disable: reqDateFrom().length < 1" />
<input id="txtRequestedTo" type="text" placeholder="dd/mm/yyyy"
data-bind="valueAsDatePicker: reqDateTo, disable: reqDateFrom.disabled" />
非常感谢罗伯特, 以下是有效的解决方案。 使用knockoutjsv3.1 你必须使用
if (allBindings.has('disable')) {
否则
allBindings.get('disable')
将未定义,因为视图中并非所有datepicker绑定字段都具有disabled属性 谢谢Robert,我今天会试试这个,如果我有任何问题,我会告诉你的。禁用可观察替换工作非常完美,我喜欢它有多整洁。装订部分有一些打字错误,但仍然不起作用。我目前正在调试它。
allBindings.get('disable')