我正在使用datePicker.js来显示grails datePicker。我有开始日期和结束日期
g:datePicker class='StartDatetime' precision='minute'现在我正在尝试为datePicker设置最小和最大日期。将此代码放在就绪函数下不起作用。在代码中是否还有其他地方我需要进行更改才能看到函数的工作?
$("#StartDatetime").datepicker({
onSelect: function (selected) {
$("#EndDatetime_input").datepicker("option", "minDate", selected)
}
});
$("#EndDatetime_input").datepicker({
onSelect: function (selected) {
$("#StartDatetime_input").datepicker("option", "maxDate", selected)
}
});发布于 2014-01-22 13:53:10
将src/templates/scaffolding/renderEditor.template中的'renderDateEditor‘替换为以下代码:
private renderDateEditor(domainClass, property) {
def precision = (property.type == Date || property.type == java.sql.Date || property.type == Calendar) ? "day" : "minute";
if (!cp) {
return "<g:datePicker name=\"${property.name}\" precision=\"${precision}\" value=\"\${${domainInstance}?.${property.name}}\" />"
} else {
if (!cp.editable) {
return "\${${domainInstance}?.${property.name}?.toString()}"
} else {
def out = new StringBuffer("")
out << "<input type=\"text\" name=\"${property.name}_datepicker\" id=\"${property.name}_datepicker\" value=\"<g:formatDate date=\"\${${domainInstance}?.${property.name}}\" formatName=\"dateonly.date.format\" />\"/>"
out << "<input type=\"hidden\" name=\"${property.name}_day\" id=\"${property.name}_day\" value=\"<g:formatDate date=\"\${${domainInstance}?.${property.name}}\" format=\"dd\" />\"/>"
out << "<input type=\"hidden\" name=\"${property.name}_month\" id=\"${property.name}_month\" value=\"<g:formatDate date=\"\${${domainInstance}?.${property.name}}\" format=\"MM\" />\"/>"
out << "<input type=\"hidden\" name=\"${property.name}_year\" id=\"${property.name}_year\" value=\"<g:formatDate date=\"\${${domainInstance}?.${property.name}}\" format=\"yyyy\" />\"/>"
out << """<g:javascript>
\$(document).ready(function () {
\$("#${property.name}_datepicker").datepicker({
dateFormat:'dd/MM/yy',
onClose: function(dateText, inst) {
var date = new Date(dateText.replace(/(\\d+).(\\d+).(\\d+)/, '\$3/\$2/\$1'));
if (!isNaN(date)) {
\$("#${property.name}_month").val(date.getMonth()+1);
\$("#${property.name}_day").val(date.getDate());
\$("#${property.name}_year").val(date.getFullYear());
}
},
showAnim: "slide",
showOptions: {direction: 'up'},
showOn: "both",
autoSize: true,
constrainInput: true,
showButtonPanel: true
});
})
</g:javascript>"""
return out.toString()
}
}}https://stackoverflow.com/questions/20359166
复制相似问题