问题描述
|
我有一些jquery可以获取元素ID并将其放入文本框
文本框的ID是自动设置的,因此我无法更改。
我正在尝试整理ID,然后对其进行格式化,以使其正确读取
这是我的HTML
<a id=\"day_2294_110_2011-6-2\" class=\"weekday\" href=\"javascript:;\">Day</a>
<input type=\"text\" id=\"therapydate\" />
还有我的jQuery
$(\'.weekday\').click(function() {
$(\'#therapydate\').val($(this).attr(\'id\'));
});
这会将我的文本框的值设置为day_2294_110_2011-6-2
,但是我想删除此day_2294_110_
,而只剩下2011-6-2
,然后将其格式化为类似2nd June 2011
或02/06/2011
的日期
这可能吗?
谢谢
解决方法
试试这个(以MM / DD / YYYY格式给您日期):
var id = $(\'#therapydate\').val($(this).attr(\'id\'));
var requiredOP = id.replace(/.*_(\\d+)-(\\d+)-(\\d+)$/,\'$2/$3/$1\');
工作示例:http://jsfiddle.net/L42Lq/
, 在这种情况下,您可以使用string.split()方法将其分解为一个数组,在这种情况下,该数组将包含4个元素,最后一个元素是您想要的片段。
就像是:
var splitId = $(this).attr(\'id\').split(\'_\');
$(\'#therapydate\').val(splitId[3]);
, 尝试这样的事情:
var date = new Date (\"day_2294_110_2011-6-2\".substring(13,21)).toUTCString();
, 好吧,您可以通过多种方式在此ID中获取日期。您可以尝试使用regExp,按\'-\'拆分,甚至使用子字符串函数。
之后,要正确格式化日期,您可以尝试以下操作:
http://docs.jquery.com/UI/Datepicker/formatDate
, 您可以在下划线上split()
,并获取数组中的最后一项:
var id = $(this).attr(\'id\'));
var parts = id.split(\'_\');
var datePart = parts[parts.length-1];
您也可以获取下划线的最后一个索引,然后在其右边获取所有内容的子字符串:
var id = $(this).attr(\'id\'));
var index = id.lastIndexOf(\'_\') + 1;
var datePart = id.substr(index);
有很多日期格式化文档。只是谷歌周围。例如:http://plugins.jquery.com/project/jquery-dateFormat
, 使用@Cybernate的解决方案。
$(\'.weekday\').click(function() {
var date = $(this).attr(\'id\');
$(\'#therapydate\').val(date.slice(date.lastIndexOf(\"_\")+1,date.length));
});
在这里尝试