我总是想知道你是怎么做到的。我将datepicker的替代字段的值保存到数据库中(以MySQL日期格式)。如果我从db中获取,我可以使用它填充altField。但实际的datepicker字段仍为空。我必须从db中格式化它并填充该字段。但是,日期选择器不应该这样做吗?有可能吗?
//html
// {$dbDate.expires} = '2016-01-01'
// {$dbDate.expires_formatted} = '01.01.2016'
<input type="hidden" name="expires" value="{$dbDate.expires}">
<input type="text" class="datepicker"> //should display the value "01.01.2016"
<input type="text" class="datepicker" value="{$dbDate.expires_formatted}"> //this is what I currently do instead
//js
.datepicker({
altField : $(document).find('input[name="expires"]'),
altFormat : "yy-mm-dd"
}, $.datepicker.regional['someRegional']);
https://jsfiddle.net/mkxcqub6/ - 这个小提琴展示了它应该如何运作。除此之外,您将看到问题是日期初始化格式不正确(因为db的格式与显示的格式不同)。此外,datepicker中的选定日期是当前日期,而不是来自db的日期。
https://jsfiddle.net/mkxcqub6/1/ - 这个小提琴显示了我现在正在做的事情。我从db获得两种格式的日期。一个是MySQL可以处理它并以用户定义的格式。这样,datepicker也将日期显示为选中状态。
答案 0 :(得分:0)
我建议您通过# Do the regex check against the URI here, if match, set the "require_auth" var
SetEnvIf Request_URI ^/product-category/ require_auth=true
# Auth stuff
AuthUserFile /home1/thetimh6/public_html/htpasswd
AuthName "Password Protected"
AuthType Basic
# Setup a deny/allow
Order Deny,Allow
# Deny from everyone
Deny from all
# except if either of these are satisfied
Satisfy any
# 1. a valid authenticated user
Require valid-user
# or 2. the "require_auth" var is NOT set
Allow from env=!require_auth
和setDate
这样做。请参阅工作示例:https://jsfiddle.net/Twisty/ht87Lvqv/
<强> HTML 强>
defaultDate
<强> JQuery的强>
<input type="hidden" name="expires" value="2012-06-01">
<label for="startDate">Date :</label>
<input class="date-picker" />
请记住,$(function() {
var $inp = $("input[name='expires']").val();
var YY = parseInt($inp.substring(0, 4));
var MM = parseInt($inp.substring(5, 7)) - 1;
var DD = parseInt($inp.substring(9,11));
var myDate = $inp != "" ? new Date(YY, MM, DD) : new Date();
$('.date-picker').datepicker({
dateFormat: 'yy-mm-dd',
defaultDate: myDate
}).datepicker("setDate", myDate);
});
使用0 - 11个月的数组。
修改强>
更新后,您仍然不清楚如何使用这些字段,但我希望这有助于使备用字段更清晰:
https://jsfiddle.net/Twisty/ht87Lvqv/1/
<强> HTML 强>
Date
<强> JQuery的强>
Hidden: <input type="text" class="hidden" name="expires" value="2016-01-01">
Normal: <input type="text" class="datepicker" id="current">
Formatted: <input type="text" class="datepicker" id="formatted" value="01.01.2016">
现在选择日期时,它会将交替格式化的日期放入$(function() {
var $inp = $("input[name='expires']").val();
var YY = parseInt($inp.substring(0, 4));
var MM = parseInt($inp.substring(5, 7)) - 1;
var DD = parseInt($inp.substring(9,11));
var myDate = $inp != "" ? new Date(YY, MM, DD) : new Date();
$("#current").datepicker({
dateFormat: 'yy-mm-dd',
defaultDate: myDate,
altField : $("#formatted"),
altFormat : "dd.mm.yy"
}).datepicker("setDate", myDate);
});
字段。我强烈建议您在字段中使用ID。