Twitter bootstrap Bootstrap 3日期选择器-Knockout.js

Twitter bootstrap Bootstrap 3日期选择器-Knockout.js,twitter-bootstrap,knockout.js,datepicker,Twitter Bootstrap,Knockout.js,Datepicker,有没有人成功地使用了与knockout.js一起使用的 我在DatePicker和knockout.js BindingHandler上度过了一个下午,但没有成功 以下是我当前的knockout.bindingHandler: ko.bindingHandlers.datepicker = { init: function (element, valueAccessor, allBindingsAccessor) { //when a user changes the d

有没有人成功地使用了与knockout.js一起使用的

我在DatePicker和knockout.js BindingHandler上度过了一个下午,但没有成功

以下是我当前的knockout.bindingHandler:

ko.bindingHandlers.datepicker = {
    init: function (element, valueAccessor, allBindingsAccessor) {
        //when a user changes the date, update the view model
        ko.utils.registerEventHandler(element, "changeDate", function (event) {
            var value = valueAccessor();
            if (ko.isObservable(value)) {
                value(event.date);
            }
        });
    },
    update: function (element, valueAccessor) {
        var widget = $(element).data("DateTimePicker");
        if (widget) {
            widget.date = ko.utils.unwrapObservable(valueAccessor());
            widget.setValue();
        }
    }
};
这是我的viewModel:

function TurbineHistoryViewModel() {
    var self = this;

    self.severity1 = ko.observable(1);
    self.severity2 = ko.observable(2);
    self.severity3 = ko.observable(3);
    self.severity4 = ko.observable(4);
    self.severity6 = ko.observable(6);

    self.fromDate = new ko.observable(new Date());
    self.toDate = new ko.observable(new Date());
}
。。。这是我的标记:



如果有人有一个好的datepicker和knockout.js的工作示例,我会非常想听听。

解决方案是使用引导datepicker 3 knockout bindinghandler,可以在这里找到:

然后在选项中设置区域设置和日期格式:

var options = allBindingsAccessor().dateTimePickerOptions || { locale: 'da', format: 'DD-MM-YYYY' };
$(element).datetimepicker(options);
然后在HTML标记中使用此bindinghandler:

<div class='input-group date' id='datetimepicker1'>
    <input type='text' class="form-control" data-bind="dateTimePicker: objVM.fromDate"/>
    <span class="input-group-addon">
        <span class="glyphicon glyphicon-calendar"></span>
    </span>
</div>


显示您到目前为止的尝试,也许您已经走上了正确的轨道。我明白您的意思,但问题是我缺少日期选择器和相应的knockout.bindinghandler之间的直接连接。我可以看到视图调用bindinghandler,但由于某种原因失败了。是的,但要找出原因,我们需要查看代码,你不这样认为吗?;)如果您在问题的内部构建了一个测试设置(单击“snippet”按钮),所有库都已就绪,并且能够正常工作,从而避免了管道堵塞,那么您将是理想的选择。欢迎阅读热门系列的最新一期“如何通过阅读文档节省一个下午”;-)