laydate空间的mark后台发生变化之后,应该如何变更前端的mark?用element.init

提问 未结
5 115
雎鸠
雎鸠 2017-9-13
悬赏:10飞吻
通过ajax回调,获取到mark数据,通过前端参数的变化,重新获取mark数据,获取到mark后,用laydate.render 然后用element.init form.render没效果?请指点……
  layui.use(['element', 'laydate', 'layer', 'laytpl', 'util', 'form'], function () {
var $ = layui.jquery
, element = layui.element
, layer = layui.layer
, laydate = layui.laydate
, util = layui.util
, laytpl = layui.laytpl
, form = layui.form;


var markdata = "";
function getmark(str) {
$.ajax({
url: "/Handler/BillTools/HolidayServer.aspx?date=" + str,
type: "post",
dataType: "json",
async: false,
success: function (data) {
markdata = data;
}
, error: function (d) {
}
});
}
getmark(‘2017-09-13’);
var mycal = laydate.render({
elem: '#calendar'
, position: 'static'
, calendar: true
, theme: 'grid'
, mark: markdata
, showBottom: false
, change: function (value, date, endDate) {
$("#hdfCurrentSelectDate").val(value);
}
});

在另外一个方法下面使用
getmark('2017-9-14');调用9月14,前面默认是9月13显示为今天,调用9月14,后台mark的json已经变化,后面使用 form.render();或者element.init()都没效果。
回帖
  • 雎鸠
    2017-9-13
    mycal.config.mark = markdata;
    增加了这句代码之后,需要点击一下日历之后才会起作用?请高人指点
    0 回复
  • 雎鸠
    2017-9-13
    @贤心
    切换mark之后,通过 config.mark=newmark,需要鼠标点击下日历控件才能刷新城新的mark。请指点下。
    0 回复
  • 雎鸠
    2017-9-14
    遇到解决不了的问题看源码。终极大招
    0 回复
  • ZeroFly
    2017-9-27
    @雎鸠 你好,请问怎么解决的 ?
    0 回复
  • 雎鸠
    2017-10-22
    @zerofly 还是render和init位置不合适。
    0 回复