如何以编程方式在jquery mobile Datebox插件1.1.0中设置日期

时间:2012-06-30 09:26:49

标签: jquery-mobile datebox

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

$(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控制台更新日期(在该页面上)时,它更新了字段以及日期框控件。

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

2 个答案:

答案 0 :(得分:6)

所以最后我通过这个来解决这个问题

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'});

答案 1 :(得分:0)

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

 $(element).trigger('datebox', { 'method': 'doset' });