-1

我正在尝试使用 jquery 中的 datepicker,但我不知道如何从中获取值。

我将此代码用于日期选择器视图:

JQ.DatePicker = Em.View.extend(JQ.Widget, {
 uiType: 'datepicker',
 uiOptions: ['disabled', 'altField', 'altFormat', 'appendText', 'autoSize', 'buttonImage', 'buttonImageOnly', 'buttonText', 'calculateWeek', 'changeMonth', 'changeYear', 'closeText', 'constrainInput', 'currentText', 'dateFormat', 'dayNames', 'dayNamesMin', 'dayNamesShort', 'defaultDate', 'duration', 'firstDay', 'gotoCurrent', 'hideIfNoPrevNext', 'isRTL', 'maxDate', 'minDate', 'monthNames', 'monthNamesShort', 'navigationAsDateFormat', 'nextText', 'numberOfMonths', 'prevText', 'selectOtherMonths', 'shortYearCutoff', 'showAnim', 'showButtonPanel', 'showCurrentAtPos', 'showMonthAfterYear', 'showOn', 'showOptions', 'showOtherMonths', 'showWeek', 'stepMonths', 'weekHeader', 'yearRange', 'yearSuffix'],
 uiEvents: ['create', 'beforeShow', 'beforeShowDay', 'onChangeMonthYear', 'onClose', 'onSelect'],
 tagName: 'input',
 type: "text",
 attributeBindings: ['type', 'value']
});

还有我的扩展观点:

App.DatePicker = JQ.DatePicker.extend({
      dateFormat: 'yy-mm-dd',
      classNames: ['form-control'],
      onSelect: function(dateText, inst) {
        this.value = dateText;
        this.set('value',dateText);
      }
    });

在我添加的 html 页面:

{{#view App.DatePicker valueBinding="date"}}{{/view}}

我的控制器:

App.MainController = Ember.ArrayController.extend({
    templateName: "main",
    date: null,

    saveDate: function(value){
        console.log("saveDate");
        this.date = value;
    },  

    showData: function(){
        alert(this.date);
    },

});

我在 {{view App.DatePicker }} 中测试了一些其他选项,但我不明白这些视图和控制器是如何工作的。有人可以帮我处理这段代码,或者给我发一些关于这个主题的好指南的链接吗?

4

2 回答 2

1

所以我想通了。

将 attributeBindings: ["value"] 添加到 App.DatePicker:

App.DatePicker = JQ.DatePicker.extend({
      dateFormat: 'yy-mm-dd',
      classNames: ['form-control'],
      onSelect: function(dateText, inst) {
        this.value = dateText;
        this.set('value',dateText);
      },

      attributeBindings: ["value"]

    });
于 2013-08-31T18:19:42.153 回答
0

尝试:

var date = $('#date').datepicker('getDate');

文档: http ://api.jqueryui.com/datepicker/#method-getDate

于 2013-08-31T17:29:22.283 回答