[英]jQuery-UI DateTimePicker doesn't work
我需要使用jquery-ui开发datetimepicker输入。 我已经开发了一个日期选择器,并且它运行良好。 问题在于DateTimePicker正在显示日期选择器,因此可以选择缺少的时间。
在具有正常工作的DatePicker的函数下面:
function initInputDate() {
//Regionaliza o datepicker
//Seleciona todos os Inputs de Data
$("*").on("focus", ".inputData", function() {
$.datepicker.setDefaults($.datepicker.regional[ "pt-BR" ]);
//Adiciona o plugin datepicker do JQuery-UI aos inputs de data
$(this).datepicker({
showAnim: 'slideDown',
dateFormat: 'dd/mm/yy',
changeMonth: true,
changeYear: true
});
});
}
下面的功能有问题。 她正在显示一个DatePicker,但应显示一个DateTimePicker。 我已经意识到显示的DateTimePicker与上面的函数中显示的不同,即它们是组件的不同,因为我删除了按钮,但是它们在此函数中显示为错误的DateTimePicker。
function initInputDateTime() {
//Seleciona todos os Inputs de Data
$("*").on("focus", ".inputDataHora", function() {
//Adiciona o plugin datepicker do JQuery-UI aos inputs de data
$(this).datetimepicker({
showAnim: 'slideDown',
dateFormat: 'dd/mm/yy',
changeMonth: true,
changeYear: true
});
});
}
我已经妥善照顾了脚本:
jquery-ui-timepicker-addon.js
jquery.js
jquery-ui-1.9.2.custom.min.js
此图像显示错误的日期选择器,它必须是日期时间选择器:
输入的HTML:
<tr>
<td>
<b>Data e Hora da Análise:* </b>
</td>
<td>
<input id="dsAnalise" class="input inputDataHora hasDatepicker" type="text" size="15" maxlength="16" value="" name="dsAnalise">
</td>
</tr>
非常感谢!
你在做什么是绝对错误的。 datepicker和datetimepicker都只需要为每个字段启动一次,而不必在每个焦点上启动一次。 它们是从自己身上显示出来的,您不必在那里做任何事情。
因此,要更正此错误,结果代码将如下所示:
function initInputDate() {
$.datepicker.setDefaults($.datepicker.regional[ "pt-BR" ]);
$('.inputDataHora').datepicker({
showAnim: 'slideDown',
dateFormat: 'dd/mm/yy',
changeMonth: true,
changeYear: true
});
}
function initInputDateTime() {
//Seleciona todos os Inputs de Data
$(".inputData").datetimepicker({
showAnim: 'slideDown',
dateFormat: 'dd/mm/yy',
changeMonth: true,
changeYear: true
});
}
然后应按以下顺序添加jQuery JS文件:
jquery.js
jquery-ui-1.9.2.custom.min.js
jquery-ui-timepicker-addon.js
我只是解决问题。 解决的办法是替换一些脚本,例如jquery-ui.min.js并对其进行重组,因为我有一个名为main.js的脚本,其他脚本正在运行javascript / jquery。
下面显示脚本的组织:
<script type="text/javascript" src="/fwsibe/sistema/libraries/interface/javascript/jquery/lib/jquery.js"></script>
<script type="text/javascript" src="/fwsibe/sistema/libraries/interface/javascript/jquery/lib/jquery-ui/jquery-ui.min.js"></script>
<script type="text/javascript" src="/fwsibe/assets/jquery/js/jquery-ui-sliderAccess.js"></script>
在这里,我显示了用于初始化脚本的main.js文件:
var dirJquery = "/fwsibe/sistema/libraries/interface/javascript/jquery/";
var dirJqueryPlugins = dirJquery + "plugins/";
var dirScriptsEvento = dirJquery + "scripts/eventos/";
var dirJqueryUi = dirJquery + "lib/jquery-ui/";
var arrayScripts = new Array(
dirJqueryPlugins + "datepicker/jquery-ui-timepicker-addon.js",
dirScriptsEvento + "Menu.js",
dirScriptsEvento + "Dialog.js",
dirScriptsEvento + "Button.js",
dirScriptsEvento + "Template.js",
dirScriptsEvento + "Select.js",
dirScriptsEvento + "InputDate.js",
dirJqueryPlugins + "jquery.maskedinput.min.js",
dirJqueryPlugins + "jquery.ba-replacetext.min.js",
dirJqueryPlugins + "jquery.ba-hashchange.min.js",
dirJqueryPlugins + "jquery.form.min.js",
dirJqueryPlugins + "fancybox/jquery.fancybox.pack.js"
);
$(function() {
//Carrega os scripts JQuery
loadScripts();
});
/**
* Recarrega os scripts de evento jQuery sempre que um determinado evento acontece
*/
function loadScripts() {
for (var i = 0; i < arrayScripts.length; i++) {
jQuery.getScript(arrayScripts[i]);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.