[编辑]:我想人们有问题要明白我的意思,所以我完全重写了我的解释.
我在一个项目上工作,用户可以在该项目中定义整个站点中使用的日期格式.它使用PHP日期格式标准.例如:"年 - 月 - 日"由"Ymd"设置.
PHP标准使用单字符符号(如Y,m,d,F,j)来描述日期格式.如文档中所示:http://www.php.net/manual/fr/function.date.php
有时用户可以通过jQueryUI Datepicker选择日期.该组件使用代码字描述其日期格式,如yy,y,mm,dd,D,... http://api.jqueryui.com/datepicker/#utility-formatDate
我想以PHP和Datepicker的相同格式显示日期.我的意思是PHP应该以用户设置的格式输出日期,并且Datepicker应该以相同的格式显示所选日期.
鉴于:
/!\这不是如何从已知格式读取/解析/显示日期的问题.
不幸的是,Javascript日期格式描述与PHP中的不同.例如,这两种日期格式是等效的,但在PHP和Javascript中有不同的描述:
正如您所看到的,我不能只使用PHP日期格式配置datepicker,因为它会被误解或根本无法识别.
有人(在下面的答案中)建议创建我自己的"日期格式标准转换器",将每个PHP符号与JS日期格式描述中的等效符号相匹配.就像:
然后用JS文件替换每个PHP符号.所以"d/m/Y"将被神奇地翻译成"dd/mm/yy".
但也许有人知道另一种让jQueryUI Datepicker理解PHP日期格式标准的正确方法吗?
编辑:我写了一个解释问题和解决方案的教程.如需进一步阅读:http://tristan-jahier.fr/blog/2013/08/convertir-un-format-de-date-php-en-format-de-date-jqueryui-datepicker
我在多选元素上使用Chosen jQuery插件.
我想检索并按选择它们(单击)的顺序显示选项值.
例如,如果我点击"Three","Two"然后"One",我应该按以下顺序获取值: [3, 2, 1]
我使用了Chosen的'change'事件,但它给了我在DOM中声明的有序值.即:[1, 2, 3]
这是我的代码片段:
<select class="chosen" data-order="true" name="multiselect[]" id="multiselect" multiple="true">
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
<option value="4">Four</option>
<option value="5">Five</option>
</select>
<div id="result"></div>
<script type="text/javascript" src="jquery-1.11.0.js"></script>
<script type="text/javascript" src="chosen.jquery.min.js"></script>
<script type="text/javascript">
$(".chosen").chosen({enable_search_threshold: 10}).change(function(event) {
if(event.target == this) {
var value = $(this).val();
$("#result").text(value);
}
});
</script>
Run Code Online (Sandbox Code Playgroud)
jsFiddle演示:http://jsfiddle.net/FjET4