Backbone Stickit 输入值从外部改变

Posted

技术标签:

【中文标题】Backbone Stickit 输入值从外部改变【英文标题】:Backbone Stickit input value change from outside 【发布时间】:2013-04-16 14:05:00 【问题描述】:

我有一个在输入上设置日期的日期选择器。我用stickit绑定它。问题在于,由于日期选择器(而不是击键)更改了输入的值,因此stickit 绑定不会观察到更改。如果我手动输入日期,没有问题。

bindings: 
                        'input[name=RecordDate]': 
                            observe: 'recdate',
                            onSet: 'dosome'
                        
                    ,

【问题讨论】:

【参考方案1】:

我建议添加一个全局处理程序来处理您项目中的所有日期选择器。以下处理程序将匹配任何与类绑定的元素:'jquery-datepicker':

Backbone.Stickit.addHandler(
    selector: '.jquery-datepicker',
    initialize: function($el, model, options) 
        $el.datepicker(
            onChangeMonthYear: function() 
                model.set(options.observe, $el.val());
            
        );
    
);

这是一个小提琴示例:

http://jsfiddle.net/px6UP/29/

More about handlers.

让我知道这是否适合您。我计划在不久的将来使用食谱或示例更好地记录处理程序...

【讨论】:

马修,你太棒了!我是一个大粉丝!会尝试让您知道。 虽然这显然有效,但我最终将日期选择器更改为 Kendo 的,它无需任何额外的钩子即可触发 onSet。

以上是关于Backbone Stickit 输入值从外部改变的主要内容,如果未能解决你的问题,请参考以下文章

模型未在表单提交时更新,使用 Backbone + Stickit

使用 Backbone 和 Stickit 使模型保持最新

Backbone.stickit 和 html-form:如何只保存(补丁)更改的属性?

如何修复Backbone.stickit中的'this.stickit()不是函数'错误

带有stickit.js的backbone.js嵌套对象属性

为 Backbone.Stickit.js 绑定设置全局 setOptions