我正在使用jQuery Datepicker。我正在使用follwing脚本将datepicker附加到其类为datepicker的所有控件。
<script type="text/javascript">
$(document).ready(function(){
$(".datepicker").datepicker({ showButtonPanel: true});
});
</script>
现在,在创建日期选择器时是否可以使用多个选项,如此
$(".datepicker").datepicker({ showButtonPanel: true}, {showOtherMonths: true });
它似乎不起作用。
答案 0 :(得分:4)
你需要写:
$(".datepicker").datepicker({ showButtonPanel: true, showOtherMonths: true });
这是jQuery中常见的习惯用法,为选项使用JSON对象(哈希)。
答案 1 :(得分:3)
大多数jQuery插件的参数之一接受一个对象作为参数,例如{ option1: 'optionValue'}
。这允许用户传递他们想要从默认值更改的任何选项。在大多数插件中,此选项对象随后使用$.extend()
与默认选项合并,如果已定义,则使用选项对象中的属性覆盖任何默认选项。
编写插件的常用方法之一如下
(function($) {
$.fn.myPlugin = function(options) {
var settings = $.extend({ // these are the default properties
option1: 'default value',
option2: true,
option3: 5437
},
// merge with the options object passed in
// or an empty object
options || {});
// now we can use the settings object in our plugin, which will have
// property values from the settings object and the options object passed in
}
})(jQuery);
options || {}
中的$.extend()
部分防范options
传递的错误值。 $.extend()
中对象的顺序决定哪些属性优先 - 在对象上定义的属性将使其值被替换(在此处大致使用术语)由在a上声明的相同属性名称后来的对象。