2

我想用日期框控件以编程方式为输入设置日期,为此我知道我可以使用这样的东西

$(element).trigger('datebox', {'method':'set', 'value':'dateString'});

但这似乎并没有更新控件(即当我打开日历时,它被设置为当前日期并且不等于输入字段中的值)

编辑:基于 JTsage 的指针,我使用这样的东西将默认日期格式覆盖为 mm/dd/yyyy。

jQuery.extend(jQuery.mobile.datebox.prototype.options.lang, {
    'en': {
        dateFormat: '%m/%d/%Y'

    }
});
jQuery.extend(jQuery.mobile.datebox.prototype.options, {
    useLang: 'en'
});

然后我尝试使用这样的东西设置日期

$(element).trigger('datebox', {'method':'set', value:'07/02/2012'});

但是当我导航到页面时,这个日期没有出现。有趣的是,当我尝试从 firebug 控制台更新日期(在该页面上)时,它更新了字段以及 datebox 控件。

我不知道为什么会这样..需要帮助,请回复 JT

4

2 回答 2

7

所以最后我通过这样做解决了这个问题

jQuery.extend(jQuery.mobile.datebox.prototype.options, {
    'overrideDateFormat': '%m-%d-%Y',
    'overrideHeaderFormat': '%m-%d-%Y'
});

显式设置输入字段的值

$(element).val('06-21-2012');

然后刷新日期框

$(element).trigger('datebox', {'method':'set', 'value':'06-21-2012'});
于 2012-07-02T08:24:50.720 回答
0

我找到了解决方案,试试这个

 $(element).trigger('datebox', { 'method': 'doset' });
于 2013-09-11T06:47:01.370 回答