jq动态添加input元素无法使用My97DatePicker日期插件解决办法

记录一下,方便以后查找。

加上在后面加上on事件即可。

$('body').on('focus', 'input[name="tremTime"]', function(event) {
    WdatePicker({skin:"whyGreen",dateFmt:"yyyy-MM-dd"});
});


2018-3-7 更新
遇到一个功能,要连续使用多个日期选择器,两个的时候,可以互为设置大小日期,但是大于两个就设置不了了
下面这段代码的核心就是 data-n 属性。在input框上加入这个属性每个input都按这个规律逐个增长,除了第一个和最后一个input框,每一个都是上下两个input框的最大选择日期和最小选择日期。

使用方法:把 firstDate(); 放到最后加载。如果所有input日期选择框都是动态从后台加载出来的,就放在append() 后面(注:这里append()是jq的插入方法)。

//限制日期选择框选择范围
function firstDate(){
 var sectionArr = []; //定义数组,储存所有选择的日期
 var num = 0;//data-n自增长
 $('#timelum').on('focus','.ws-times',function(){//日期选择框focus事件
  $('.ws-times').each(function(){//遍历所有日期选择框
   num++;
   $(this).attr('data-n','1'+num+'');//循环设置name
   sectionArr.push($(this).val());//所选日期插入数组
  });
  $this = $(this);
  var dataN = $this.attr('data-n');
  var subName = Number(dataN.substring(1)) - 1;//获取data-n后缀数字,并减一方便作为下标查询
  console.log(subName);
  if(subName == 0){//日期选择框为第一个时不限制选择范围
   WdatePicker({skin:"whyGreen",dateFmt:"HH:mm",maxDate:sectionArr[subName+1]});
  }else{
   WdatePicker({skin:"whyGreen",dateFmt:"HH:mm",minDate:sectionArr[subName-1],maxDate:sectionArr[subName+1]});//设置日期选择框最大最小选择范围(条件为前后input的值)
  }
  //清空已遍历数据,避免重复遍历添加
     num = 0;
     sectionArr = [];
 });
};

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值