Sunday, June 21, 2015

Bootstrap Datepicker on change firing twice or three times




I used Bootstrap Datepicker
  $('.hasDatepicker').on('change', function(){
   }); 
 Bootstrap Datepicker fired three times. After I change it to
   $('.hasDatepicker').datepicker().on('change', function(){
   });
 Bootstrap Datepicker fired twice.

Solution 1
change
   $('#ROFRmail .modal-body .hasDatepicker').datepicker({ minDate: 0}).on('change', function(){
to
 $('#ROFRmail .modal-body').on('change', '.hasDatepicker', function(){

As when I add row, I did not have .hasDatepicker row.
Solution 2


Get global variable count and check if equal to 0 then execute Your function.
var count=0;
     $( "#Id" ).datepicker({ minDate: 0}).on('change',function (){
            if(count==0) 
           validity();//any function
           count=1;
         });
     validity(){ count=0;}
My code: use count=0 in .post to wait for ajax post post feedback to update id in div for next post
                      $('#ROFRmail .modal-body .hasDatepicker').datepicker({ minDate: 0}).on('change', function(){


                                      var row1=$(this).parents('tr');
                                      var pl_id =  row1.attr('data-id');
                                     var startdate = row1.find('.pl_start_date').val();

                                     var enddate = row1.find('.pl_end_date').val();
                                        $(this).attr('disabled','disabled');
 var postdata = {funct: 'UpdateROFRpl', pl_id:pl_id,sid:sid,  coursename:coursename, startdate:startdate,enddate:enddate};
                                                         var url = '../_ajaxParts/ROFR/SITAROFR_list.php';
                                                    if(count==0){
                                                         $.post(url, postdata, function(data) {
                                                            row1.attr('data-id',data);
                                                            count =0;
                                                            row1.find('.hasDatepicker').removeAttr('disabled');
                               });
                               }
                                 count=1;

                           });

No comments:

Post a Comment