jquery和Mdatejs冲突
jquery和Mdatejs冲突
jquery和Mdatejs冲突
原因为是都是用的$符号,因此Mdatejs不生效
正常写法
<span class="flex-c riqibar" id="dateShowBtn">
<input type="text" name="" value="" id="dateTime" disabled="true">
</span>
// 设置文本
$('#dateTime').val(dateStr)
// 获取年月日
var year = dateFormat("YYYY", new Date(dateStrAll))
var month = dateFormat("mm", new Date(dateStrAll))
var day = dateFormat("dd", new Date(dateStrAll))
// 对Mdate设置默认选中的数据
$('#dateTime').data('year', year)
$('#dateTime').data('month', month)
$('#dateTime').data('day', day)
// 创建Mdate
// dateShowBtn 为你点击触发Mdate的id,必填项
new Mdate("dateShowBtn", {
acceptId: "dateTime",
// 日期之间的连接符
format: "-",
onconfirm: function (val) {
dateStrAll = val
$('#dateTime').val(dateStr)
}
})
其他参数 https://blog.csdn.net/weixin_42979149/article/details/103023262
处理办法
Mdatejs通过自定义属性data-year data-month data-day继续设置的数据,
先获取dom元素,然后通过自定义属性进行设置值
// 设置文本
$("#dateTime").val(dateStr);
// 获取年月日
var year = dateFormat("YYYY", new Date(dateStr));
var month = dateFormat("mm", new Date(dateStr));
var day = dateFormat("dd", new Date(dateStr));
// 获取dom元素
var dom =document.getElementById('dateTime')
// $("#dateTime").data("year", year);
// $("#dateTime").data("month", month);
// $("#dateTime").data("day", day);
// 通过自定义属性设置数据
dom.setAttribute("data-year",year)
dom.setAttribute("data-month",month)
dom.setAttribute("data-day",day)
//创建Mdate
new Mdate("dateShowBtn", {
acceptId: "dateTime",
format: "-",
onconfirm: function (val) {
dateStr = val;
$('#dateTime').val('dateStr')
},
});

浙公网安备 33010602011771号