2017-02-16 76 views
0

我想在datepicker的每一天下面插入一些文本(在这种情况下为titleAttr),我试图通过beforeShowDay来实现。据文档,关于beforeShowDay是如下的函数的返回值,beforeShowDay在bootstrap-datepicker中的标题不起作用

具有以下属性的对象:

启用:相同布尔值以上

类:相同上述

提示字符串值:工具提示适用于这个日期,通过标题HTML属性

所以,如果我设置tooltiptitleAttr,我会得到多个a标签与属性title组在日期选择器titleAttr,这样我就可以插入这些a标签后一些文本,但我没有得到与属性title任何标记,我错了?

$datepicker = $('.input-group.date'); 
 
$datepicker.datepicker({ 
 
    beforeShowDay: function(date) { 
 
    return [true, "", "titleAttr"]; 
 
    } 
 
});
.datepicker td a[title]:after { 
 
    content: attr(title); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script> 
 
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.6.4/css/bootstrap-datepicker3.css" rel="stylesheet" /> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.6.4/js/bootstrap-datepicker.js"></script> 
 

 
<div class="input-group date pull-right" style="width: 150px;"> 
 
    <input type="text" class="form-control" /> 
 
    <div class="input-group-addon"> 
 
    <span class="glyphicon glyphicon-calendar"></span> 
 
    </div> 
 
</div>

回答

1

正如你在你的问题beforeShowDay说可以返回一个对象,具有以下属性:你的情况...,而你beforeShowDay返回Array

如果你所提到的礼节改变返回值的Object你有下面的代码:

$datepicker = $('.input-group.date'); 
 
$datepicker.datepicker({ 
 
    beforeShowDay: function(date) { 
 
    return { 
 
     enabled: true, 
 
     classes: "", 
 
     tooltip: "titleAttr" 
 
    }; 
 
    } 
 
});
.datepicker td a[title]:after { 
 
    content: attr(title); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script> 
 
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.6.4/css/bootstrap-datepicker3.css" rel="stylesheet" /> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.6.4/js/bootstrap-datepicker.js"></script> 
 

 
<div class="input-group date pull-right" style="width: 150px;"> 
 
    <input type="text" class="form-control" /> 
 
    <div class="input-group-addon"> 
 
    <span class="glyphicon glyphicon-calendar"></span> 
 
    </div> 
 
</div>

注意THA由选择器生成的HTML一天是以下,所以没有a标签:

<td class="day" title="titleAttr">1</td> 
+0

是的,我应该返回一个'object'而不是'array' 。我不敢相信我一直在寻找这么长时间的答案,但它非常简单。我一定把'jquery-datepicker'和'bootstrap-datepicker'搞混了。谢谢! – Searene