如何将jquery-mobile-datebox mm-dd-yyyy显示格式的翻转框弹出显示顺序更改为dd-mm-yyyy
Posted
技术标签:
【中文标题】如何将jquery-mobile-datebox mm-dd-yyyy显示格式的翻转框弹出显示顺序更改为dd-mm-yyyy【英文标题】:How to change flipbox popup display order of jquery-mobile-datebox mm-dd-yyyy display format to dd-mm-yyyy 【发布时间】:2012-09-07 08:44:49 【问题描述】:我正在尝试修改 jquery-mobile-datebox 的翻转框的显示顺序,但我找不到任何相同的选项。我正在尝试通过 jquery 来做到这一点,但我仍然认为在 Flipbox 中可能有一个选项。
以下图片供参考。
下图默认显示弹出窗口
我需要弹出显示日期 |月 |年份如红色边框所示
我希望有人能帮助我!
【问题讨论】:
【参考方案1】:我认为 Killrawr 方式是个好方法,但我在我的案例中看到了正确的“覆盖”字段名称: 是“overrideDateFieldOrder”而不是“fieldsOrderOverride”。我使用最新版本的 datebox。
如果您查看“i18n”中的几个键/字段,您会看到一个名为“dateFieldOrder”的键,所以 因为我已经使用了一些覆盖方法,通过覆盖前缀键,它似乎运行良好。
所以在我这样做的时候:
jQuery.extend(jQuery.mobile.datebox.prototype.options,
'overrideDateFieldOrder': ['d','m','y']
);
运行良好。
另一种方法也是这样做的:
$('#mydate').data("options", "overrideDateFieldOrder": ["d", "m", "y"]);
或者在你的情况下是最好的,我认为:
<input name="mydate" id="mydate" type="date" data-role="datebox" data-options='"overrideDateFieldOrder":["d", "m", "y"]' />
注意:最后一行中“和”的使用很重要。标签
data-option='"overrideDateFieldOrder":["d", "m", "y"]'
运行良好,但不像
data-option="'overrideDateFieldOrder':['d','m','y']"
没有运行。
问候,
【讨论】:
谢谢!你是对的,Killrawr 的想法是正确的,但它使用了错误的属性名称。正确的属性名称是“overrideDateFieldOrder”。 - bau - 我认为你的第一段有错误。你写的是“fieldsOrderOverride”而不是“fieldsOrderOverride”。但我认为你的意思是写 '"overrideDateFieldOrder" 而不是 "fieldsOrderOverride"' ;) 这是最好的答案。此处记录了该选项:dev.jtsage.com/jQM-DateBox/api/dateFieldOrder,此处对“覆盖”前缀的使用进行了更好的解释:dev.jtsage.com/jQM-DateBox/doc/3-2-locale【参考方案2】:我猜你正在使用这个DatePicker。在这种情况下,您是否查看了所有 options 即 ['m','d','y']
fieldsOrderOverride
Type:
Array
Default:
Inherited
Modes:
time/date/flip/slide
Override the i8n fields order. Option is an array of three items, for 24 clock mode 'a' is ignored. i.e. ['m','d','y']
Valid options:
y : Year
m : Month
d : Day of Month (date)
h : Hour
i : Minute
a : Meridiem
实施(来源here)
<input name="mydate" id="mydate" type="date" data-role="datebox"
data-options='"mode": "timebox", "fieldsOrderOverride": "d m y" '>
【讨论】:
感谢您的回复!是的,它是一样的,我使用了你提到的选项,但仍然显示弹出窗口为月 |日期 |年。下面是我用过的代码<input name="mydate" id="mydate" type="date" data-role="datebox" data-options='"mode": "flipbox","fieldsOrderOverride": "d m y", "minYear": 1912, "maxYear": 2013'>
看到these list of options in Text Internationaliztion 并更新代码如下<input name="mydate" id="mydate" type="date" data-role="datebox" data-options='"mode": "flipbox","dateFieldOrder": ["d","m","y"], "minYear": 1912, "maxYear": 2013'>
但它仍然显示包含 m d y 格式的默认弹出窗口
今晚或明天我会看看它,并尝试为您找到一个硬编码的解决方案。【参考方案3】:
试试这个:
<input name="mydate" id="mydate" type="date" data-role="datebox" data-options="\"mode\":\"calbox\",\"fieldsOrderOverride\": [\"d\",\"m\",\"y\"],\"headerFormat\":\"%A,%d, %-m, %Y\",\"dateFormat\":\"dd/mm/YYYY\",\"useTodayButton\":true">
【讨论】:
【参考方案4】:如果您使用的是Jquery mobile
datebox
,我的回答会很有用。
下面给出的我的 html
<input type="text" name="scheduled_date" id="date-value" data-role="datebox" data-options='"mode":"datebox","afterToday":"true","overrideDateFormat":"%d-%m-%Y","useFocus":true,"overrideDateFieldOrder": "dmy"' placeholder="Date here">
overrideDateFieldOrder": "dmy" 是我用来解决相同问题的属性。
以下链接会很有用
http://dev.jtsage.com/jQM-DateBox/api/dateFieldOrder/
【讨论】:
以上是关于如何将jquery-mobile-datebox mm-dd-yyyy显示格式的翻转框弹出显示顺序更改为dd-mm-yyyy的主要内容,如果未能解决你的问题,请参考以下文章