2017-06-02 90 views
0

我想使用dateFormat属性作为占位符。我已经扩展了jQuery函数,但是在下面的演练中演示之后无法使用它。我错过了什么?jQuery-ui datepicker在扩展到添加占位符后不工作

https://jsfiddle.net/yzk1avan/1/

$(document).ready(function() { 
    $(".datePicker").datepicker({ 
     dateFormat: 'dd/mm/yy', 
     placeholder: true 
    }); 
}); 

(function ($) { 
    $.fn.datepicker = function (options) { 
     var settings = $.extend({}, $.fn.datepicker, options); 
     return this.each(function() { 
      if (settings.placeholder === true) { 
       var dateFormat = settings.dateFormat; 
       var placeholder = dateFormat.replace(/y/gi, 'yy'); 
       $(this).attr('placeholder', placeholder); 
      } 
     }); 
    } 
}(jQuery)); 

感谢您的帮助。这里 https://jsfiddle.net/yzk1avan/3/

回答

0

工作拨弄找到我的答案在这里:How can I extend jQueryUI datepicker to accept an additional argument?

失踪了这些作品的代码:

VAR __picker = $ .fn.datepicker;

__picker.apply(this,[options]);

这里的工作代码:

var __picker = $.fn.datepicker; 

(function($) { 
$.fn.datepicker = function(options) { 

    __picker.apply(this, [options]); 

    var settings = $.extend({}, options); 
    return this.each(function() { 
    if (settings.placeholder === true) { 
     var dateFormat = settings.dateFormat; 
     var placeholder = dateFormat.replace(/y/gi, 'yy'); 
     $(this).attr('placeholder', placeholder); 
    } 
    }); 
} 
}(jQuery)); 

$(document).ready(function() { 
    $(".datePicker").datepicker({ 
     dateFormat: 'dd/mm/yy', 
     placeholder: true 
    }); 
});