是否有某种方法可以在模板上显示日期选择器? 我使用了以下代码:
B
我将此添加到我的配置yaml文件中:
TextField::create('DateFrom','Date From')
->setAttribute('data-datepicker', true)
->setAttribute('data-date-format', 'DD-MM-YYYY'),
文本框显示但单击文本框时没有显示日期选择器。
答案 0 :(得分:4)
有两种方法。您可以像这样使用SilverStripe DateField
:
DateField::create('DateFrom','Date From')->setConfig('showcalendar', true);
SilverStripe DateField将使用JavaScript呈现日期选择器。
或者您使用的HTML5日期字段依赖于日期选择器的浏览器实现。要实现这一点,您还需要将字段的type
设置为date
(默认为text
):
DateField::create('DateFrom','Date From')
->setAttribute('type', 'date')
->setConfig('datavalueformat', 'dd-MM-yyyy') // Server side validation
->setAttribute('data-datepicker', true)
->setAttribute('data-date-format', 'DD-MM-YYYY');
答案 1 :(得分:3)
您应该使用DateField而不是TextField。
TextField::create('DateFrom','Date From')
->setAttribute('data-datepicker', true)
->setAttribute('data-date-format', 'DD-MM-YYYY'),
应该是
DateField::create('DateFrom','Date From')
->setAttribute('data-datepicker', true)
->setAttribute('data-date-format', 'DD-MM-YYYY'),