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')
        },
      });
posted @ 2022-12-29 11:06  小小的少年  阅读(18)  评论(0)    收藏  举报