我有一些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
,然后将其格式设置为这样的日期{{ 1}}或2nd June 2011
这可能吗?
由于
答案 0 :(得分:4)
试试这个(以MM / DD / YYYY格式给出日期):
var id = $('#therapydate').val($(this).attr('id'));
var requiredOP = id.replace(/.*_(\d+)-(\d+)-(\d+)$/, '$2/$3/$1');
答案 1 :(得分:0)
在这种情况下,您可以使用string.split()方法将其分解为数组,在这种情况下,数组将包含4个元素,最后一个元素是您想要的部分。
类似的东西:
var splitId = $(this).attr('id').split('_');
$('#therapydate').val(splitId[3]);
答案 2 :(得分:0)
尝试这样的事情:
var date = new Date ("day_2294_110_2011-6-2".substring(13, 21)).toUTCString();
答案 3 :(得分:0)
使用@ Cybernate的解决方案。 <击> 撞击>
<击>$('.weekday').click(function() {
var date = $(this).attr('id');
$('#therapydate').val(date.slice(date.lastIndexOf("_")+1, date.length));
});
击> <击> Try it here 击>
答案 4 :(得分:0)
好吧,您可以通过多种方式获取此ID中的日期。您可以尝试使用regExp,按' - '拆分甚至使用子串函数。 在此之后,要正确格式化日期,您可以尝试这样做: http://docs.jquery.com/UI/Datepicker/formatDate
答案 5 :(得分:0)
你可以在下划线上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