这是非常基本的东西,但我无法弄清楚这一点。我正在使用jQuery的DatePicker
。我的目标是显示一些包含所选日期的文本。如果用户选择了今天的日期,我将文本更改为too late
。当用户重新选择将来的日期时,我想将div
的文字设置为某个内容,并将所选日期添加到位于此span
内的div
内。除未来日期外的所有作品均未显示。为什么呢?
改变某些元素的内容时,最佳做法是什么?我可以使用jQuery
s remove
然后使用append
吗?
HTML:
<p>Date: <input id="datepicker" type="text"></p>
<p id="we_will_start">starting at: <span id="start_date"></span></p>
JQUERY:
$('#datepicker').datepicker({
onSelect: function(dateText, inst){
var dateAsString = dateText;
var selectedDateAsObject = $(this).datepicker('getDate');
console.log("date object=" + new Date+ " jquery date=" + selectedDateAsObject);
console.log(dateAsString);
if(selectedDateAsObject < new Date){
console.log("bad date. cant start yesterday fool");
$("#we_will_start").text("too late!");
}else{
$("#we_will_start").text("will start at ");
document.getElementById("start_date").innerHTML = dateAsString;
}
}
});
答案 0 :(得分:1)
试试这个,只需在文本中连接日期字符串。
$('#datepicker').datepicker({
onSelect: function(dateText, inst){
var dateAsString = dateText;
var selectedDateAsObject = $(this).datepicker('getDate');
console.log("date object=" + new Date+ " jquery date=" + selectedDateAsObject);
console.log(dateAsString);
if(selectedDateAsObject < new Date){
console.log("bad date. cant start yesterday fool");
$("#we_will_start").text("too late!");
}else{
$("#we_will_start").text("will start at " + dateAsString);
}
}
});
对于跨度,将文本更改为&#34;太晚了&#34;你覆盖了段落中的所有元素。