我正在使用此标记
<label> Date <input type="text" data-datepicker="{maxDate: '+1d'}" /></label>
<label> Another date <input type="text" data-datepicker="" /></label>
<script>
$('[data-datepicker]').each(function() {
// init the options var with some default values (dateFormat etc)
// that can be overridden by the data-datepicker values
// also, new values can be added to the options from data-datepicker
// such as in the above example "maxDate"
var options = TODO;
$(this).datepicker(options);
});
</script>
我真的不知道从哪个选项对象开始...... 从默认值开始似乎是一个好的开始
var options = { dateFormat: 'yy-mm-dd };
但是我如何使用data-attribute中的值添加/覆盖...我只是不知道
答案 0 :(得分:12)
使用此标记(您必须格式化“data”属性,以便将它们识别为对象):
<label> Date <input type="text" data-datepicker='{"maxDate": "+1d"}' /></label>
<label> Another date <input type="text" data-datepicker='{ "dateFormat": "dd-mm-yy"}' /></label>
你可以这样做:
$('[data-datepicker]').each(function() {
//standard options
var options = { dateFormat: "yy-mm-dd"};
//additional options
var additionalOptions = $(this).data("datepicker");
//merge the additional options into the standard options and override defaults
jQuery.extend(options, additionalOptions);
$(this).datepicker(options);
});