Bootstrap 3 DateTimePicker通过AJAX赋值后文本对齐异常问题
解决Bootstrap 3 Datepicker通过AJAX赋值后文本右对齐的问题
这个问题我之前也碰到过!直接用jQuery的.val()给datetimepicker输入框赋值时,只是单纯修改了输入框的value属性,但没有触发组件内部的样式更新和状态同步逻辑,所以才会出现文本右对齐的异常样式——毕竟手动选择日期时,组件会自动处理这些细节。
解决思路
不要直接操作输入框的value,而是用Bootstrap 3 Datepicker官方提供的setDate方法来设置日期值,这样组件会自动帮你处理样式和状态。
修改后的AJAX代码
$.ajax({ url: "includes/pro/lastReturn.php", data: { code: itemCode, place: itemPlace }, success: function(response) { // 用moment解析日期字符串(和你的data-format格式对应) var targetDate = moment(response, 'DD/MM/YYYY HH:mm:ss'); // 通过datetimepicker组件的setDate方法赋值 $('#data_mov_Out').datetimepicker('setDate', targetDate); $('#modalRetiradaIcon').css('display', 'none'); } });
补充说明
- 因为你的初始化代码里已经用到了
moment(),所以确保moment.js已经正确引入,这样解析日期字符串才不会出问题。 - 如果不想用moment,也可以直接传入
new Date(response),但要注意日期字符串的格式兼容性,用moment会更稳妥,尤其适配你设置的pt-BR语言和dd/MM/yyyy hh:mm:ss格式。 - 如果你实在想试试直接用
.val()的方式,也可以在赋值后触发组件的change事件,不过还是推荐官方方法:
$('#modalMoveRetorno').val(response).trigger('change');
内容的提问来源于stack exchange,提问作者MathewSGon
相关产品推荐
相关产品推荐

